/* ============================================================
   NOVA CARE
   GLOBAL FOOTER
   footer.css
   ============================================================ */


/* ============================================================
   VARIABLES
   ============================================================ */

:root {

    --footer-primary:
        #0A2B1D;

    --footer-primary-light:
        #16452F;

    --footer-secondary:
        #B88A44;

    --footer-white:
        #ffffff;

    --footer-text:
        #B9C8C1;

    --footer-muted:
        #879B92;

    --footer-border:
        rgba(255,255,255,.10);

    --footer-dark:
        #061A11;

}


/* ============================================================
   FOOTER
   ============================================================ */

.nc-footer {

    position: relative;

    overflow: hidden;

    color:
        var(--footer-white);

    background:
        var(--footer-primary);

}


/* ============================================================
   DECORATIVE GLOW
   ============================================================ */

.nc-footer::before {

    content: "";

    position: absolute;

    width: 450px;

    height: 450px;

    top: -250px;

    right: -180px;

    border-radius: 50%;

    background:
        rgba(255,204,0,.06);

    filter:
        blur(20px);

    pointer-events: none;

}


/* ============================================================
   MAIN FOOTER
   ============================================================ */

.nc-footer-main {

    position: relative;

    padding:
        80px 0 55px;

}


/* ============================================================
   FOOTER BRAND
   ============================================================ */

.nc-footer-brand {

    max-width: 380px;

}


/* ============================================================
   FOOTER LOGO
   ============================================================ */

.nc-footer-logo {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    margin-bottom: 18px;

}


.nc-footer-logo img {

    width: 68px;

    height: 68px;

    object-fit: contain;

    border-radius: 14px;

    background:
        transparent;

    padding: 3px;

    transition:
        transform .3s ease;

}


.nc-footer-logo:hover img {

    transform:
        translateY(-3px);

}


/* ============================================================
   BRAND NAME
   ============================================================ */

.nc-footer-brand-name {

    margin:
        0 0 12px;

    color:
        var(--footer-white);

    font-size:
        1.55rem;

    font-weight:
        750;

    letter-spacing:
        -.02em;

}


/* ============================================================
   DESCRIPTION
   ============================================================ */

.nc-footer-description {

    margin: 0;

    color:
        var(--footer-text);

    font-size:
        .9rem;

    line-height:
        1.8;

}


/* ============================================================
   CONTACT
   ============================================================ */

.nc-footer-contact {

    display:
        flex;

    flex-direction:
        column;

    gap:
        10px;

    margin-top:
        25px;

}


/* ============================================================
   CONTACT ITEM
   ============================================================ */

.nc-footer-contact-item {

    display:
        flex;

    align-items:
        center;

    gap:
        12px;

    color:
        var(--footer-text);

    text-decoration:
        none;

}


/* ============================================================
   CONTACT ICON
   ============================================================ */

.nc-footer-contact-icon {

    width:
        38px;

    height:
        38px;

    flex:
        0 0 38px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border-radius:
        11px;

    color:
        var(--footer-secondary);

    background:
        rgba(255,204,0,.09);

    transition:
        background .25s ease,
        color .25s ease,
        transform .25s ease;

}


.nc-footer-contact-item:hover
.nc-footer-contact-icon {

    background:
        var(--footer-secondary);

    color:
        var(--footer-primary);

    transform:
        translateY(-2px);

}


/* ============================================================
   CONTACT TEXT
   ============================================================ */

.nc-footer-contact-item span:last-child {

    display:
        flex;

    flex-direction:
        column;

    gap:
        2px;

}


.nc-footer-contact-item small {

    color:
        var(--footer-muted);

    font-size:
        .7rem;

    text-transform:
        uppercase;

    letter-spacing:
        .08em;

}


.nc-footer-contact-item strong {

    color:
        var(--footer-white);

    font-size:
        .82rem;

    font-weight:
        600;

}


/* ============================================================
   FOOTER HEADING
   ============================================================ */

.nc-footer-heading {

    position:
        relative;

    margin:
        0 0 23px;

    padding-bottom:
        12px;

    color:
        var(--footer-white);

    font-size:
        1rem;

    font-weight:
        700;

}


/* ============================================================
   HEADING LINE
   ============================================================ */

.nc-footer-heading::after {

    content:
        "";

    position:
        absolute;

    left:
        0;

    bottom:
        0;

    width:
        34px;

    height:
        2px;

    border-radius:
        20px;

    background:
        var(--footer-secondary);

}


/* ============================================================
   FOOTER LINKS
   ============================================================ */

.nc-footer-links {

    display:
        flex;

    flex-direction:
        column;

    gap:
        11px;

    padding:
        0;

    margin:
        0;

    list-style:
        none;

}


/* ============================================================
   FOOTER LINK
   ============================================================ */

.nc-footer-links a {

    display:
        inline-flex;

    align-items:
        center;

    gap:
        7px;

    color:
        var(--footer-text);

    font-size:
        .86rem;

    text-decoration:
        none;

    transition:
        color .25s ease,
        transform .25s ease;

}


.nc-footer-links a:hover {

    color:
        var(--footer-secondary);

    transform:
        translateX(5px);

}


/* ============================================================
   CHEVRON
   ============================================================ */

.nc-footer-links a i {

    color:
        var(--footer-secondary);

    font-size:
        .65rem;

    opacity:
        .75;

}


/* ============================================================
   ACTIVE LINK
   ============================================================ */

.nc-footer-links a.active {

    color:
        var(--footer-secondary);

    font-weight:
        600;

}


/* ============================================================
   FOOTER CTA
   ============================================================ */

.nc-footer-cta {

    margin-top:
        65px;

    padding:
        30px 35px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        30px;

    border:
        1px solid var(--footer-border);

    border-radius:
        22px;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.055),
            rgba(255,255,255,.025)
        );

}


/* ============================================================
   CTA LABEL
   ============================================================ */

.nc-footer-cta-label {

    display:
        block;

    margin-bottom:
        8px;

    color:
        var(--footer-secondary);

    font-size:
        .7rem;

    font-weight:
        700;

    letter-spacing:
        .13em;

}


/* ============================================================
   CTA TITLE
   ============================================================ */

.nc-footer-cta h2 {

    margin:
        0 0 8px;

    color:
        var(--footer-white);

    font-size:
        clamp(1.25rem, 2vw, 1.75rem);

    font-weight:
        700;

}


/* ============================================================
   CTA DESCRIPTION
   ============================================================ */

.nc-footer-cta p {

    max-width:
        650px;

    margin:
        0;

    color:
        var(--footer-text);

    font-size:
        .85rem;

    line-height:
        1.7;

}


/* ============================================================
   CTA BUTTON
   ============================================================ */

.nc-footer-cta-button {

    min-width:
        175px;

    min-height:
        50px;

    padding:
        0 20px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        10px;

    border-radius:
        100px;

    background:
        var(--footer-secondary);

    color:
        var(--footer-primary);

    font-size:
        .82rem;

    font-weight:
        700;

    text-decoration:
        none;

    white-space:
        nowrap;

    transition:
        transform .3s ease,
        box-shadow .3s ease;

}


.nc-footer-cta-button:hover {

    color:
        var(--footer-primary);

    transform:
        translateY(-3px);

    box-shadow:
        0 12px 30px rgba(255,204,0,.22);

}


/* ============================================================
   NEWSLETTER
   ============================================================ */

.nc-footer-newsletter {

    padding:
        35px 0;

    background:
        var(--footer-primary-light);

    border-top:
        1px solid var(--footer-border);

    border-bottom:
        1px solid var(--footer-border);

}


/* ============================================================
   NEWSLETTER WRAPPER
   ============================================================ */

.nc-newsletter-wrapper {

    display:
        grid;

    grid-template-columns:
        1fr auto;

    align-items:
        center;

    gap:
        35px;

}


/* ============================================================
   NEWSLETTER CONTENT
   ============================================================ */

.nc-newsletter-content {

    display:
        flex;

    align-items:
        center;

    gap:
        15px;

}


/* ============================================================
   NEWSLETTER ICON
   ============================================================ */

.nc-newsletter-icon {

    width:
        50px;

    height:
        50px;

    flex:
        0 0 50px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border-radius:
        14px;

    color:
        var(--footer-primary);

    background:
        var(--footer-secondary);

    font-size:
        19px;

}


/* ============================================================
   NEWSLETTER TITLE
   ============================================================ */

.nc-newsletter-content h2 {

    margin:
        0 0 4px;

    color:
        var(--footer-white);

    font-size:
        1rem;

    font-weight:
        700;

}


/* ============================================================
   NEWSLETTER TEXT
   ============================================================ */

.nc-newsletter-content p {

    margin:
        0;

    color:
        var(--footer-text);

    font-size:
        .78rem;

}


/* ============================================================
   NEWSLETTER FORM
   ============================================================ */

.nc-newsletter-form {

    min-width:
        390px;

    display:
        flex;

    padding:
        4px;

    border:
        1px solid rgba(255,255,255,.13);

    border-radius:
        100px;

    background:
        rgba(0,0,0,.12);

}


/* ============================================================
   NEWSLETTER INPUT
   ============================================================ */

.nc-newsletter-form input {

    min-width:
        0;

    flex:
        1;

    padding:
        0 16px;

    border:
        0;

    outline:
        none;

    background:
        transparent;

    color:
        var(--footer-white);

    font-size:
        .8rem;

}


.nc-newsletter-form input::placeholder {

    color:
        rgba(255,255,255,.48);

}


/* ============================================================
   NEWSLETTER BUTTON
   ============================================================ */

.nc-newsletter-form button {

    min-height:
        42px;

    padding:
        0 17px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        8px;

    border:
        0;

    border-radius:
        100px;

    background:
        var(--footer-secondary);

    color:
        var(--footer-primary);

    font-size:
        .78rem;

    font-weight:
        700;

    cursor:
        pointer;

    transition:
        transform .25s ease,
        background .25s ease;

}


.nc-newsletter-form button:hover {

    background:
        #ffd633;

    transform:
        translateX(2px);

}


/* ============================================================
   NEWSLETTER MESSAGE
   ============================================================ */

.nc-newsletter-message {

    grid-column:
        2;

    text-align:
        center;

    color:
        var(--footer-secondary);

    font-size:
        .75rem;

}


/* ============================================================
   BOTTOM BAR
   ============================================================ */

.nc-footer-bottom {

    background:
        var(--footer-dark);

    border-top:
        1px solid rgba(255,255,255,.06);

}


/* ============================================================
   BOTTOM INNER
   ============================================================ */

.nc-footer-bottom-inner {

    min-height:
        75px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        20px;

}


/* ============================================================
   COPYRIGHT
   ============================================================ */

.nc-copyright {

    margin:
        0;

    color:
        var(--footer-muted);

    font-size:
        .75rem;

}


/* ============================================================
   LEGAL LINKS
   ============================================================ */

.nc-footer-legal {

    display:
        flex;

    align-items:
        center;

    gap:
        10px;

}


.nc-footer-legal a {

    color:
        var(--footer-muted);

    font-size:
        .75rem;

    text-decoration:
        none;

    transition:
        color .25s ease;

}


.nc-footer-legal a:hover {

    color:
        var(--footer-secondary);

}


.nc-footer-legal span {

    width:
        3px;

    height:
        3px;

    border-radius:
        50%;

    background:
        var(--footer-muted);

}


/* ============================================================
   SOCIAL
   ============================================================ */

.nc-footer-social {

    display:
        flex;

    align-items:
        center;

    gap:
        7px;

}


.nc-footer-social a {

    width:
        34px;

    height:
        34px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    border:
        1px solid rgba(255,255,255,.10);

    border-radius:
        50%;

    color:
        var(--footer-text);

    font-size:
        .75rem;

    text-decoration:
        none;

    transition:
        background .25s ease,
        color .25s ease,
        transform .25s ease;

}


.nc-footer-social a:hover {

    background:
        var(--footer-secondary);

    color:
        var(--footer-primary);

    transform:
        translateY(-3px);

}


/* ============================================================
   BACK TO TOP
   ============================================================ */

.nc-back-to-top {

    position:
        fixed;

    right:
        25px;

    bottom:
        25px;

    width:
        46px;

    height:
        46px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border:
        1px solid rgba(255,255,255,.15);

    border-radius:
        50%;

    background:
        var(--footer-primary);

    color:
        var(--footer-white);

    opacity:
        0;

    visibility:
        hidden;

    transform:
        translateY(15px);

    cursor:
        pointer;

    z-index:
        900;

    transition:
        opacity .3s ease,
        visibility .3s ease,
        transform .3s ease,
        background .3s ease;

}


.nc-back-to-top.is-visible {

    opacity:
        1;

    visibility:
        visible;

    transform:
        translateY(0);

}


.nc-back-to-top:hover {

    background:
        var(--footer-secondary);

    color:
        var(--footer-primary);

}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 991px) {

    .nc-footer-main {

        padding:
            65px 0 45px;

    }

    .nc-footer-cta {

        align-items:
            flex-start;

        flex-direction:
            column;

    }

    .nc-newsletter-wrapper {

        grid-template-columns:
            1fr;

    }

    .nc-newsletter-form {

        min-width:
            100%;

        max-width:
            500px;

    }

    .nc-newsletter-message {

        grid-column:
            auto;

    }

}


@media (max-width: 767px) {

    .nc-footer-main {

        padding:
            55px 0 40px;

    }

    .nc-footer-brand {

        max-width:
            100%;

    }

    .nc-footer-cta {

        margin-top:
            45px;

        padding:
            25px;

    }

    .nc-footer-cta-button {

        width:
            100%;

    }

    .nc-newsletter-content {

        align-items:
            flex-start;

    }

    .nc-newsletter-form {

        border-radius:
            18px;

        flex-direction:
            column;

        padding:
            6px;

    }

    .nc-newsletter-form input {

        min-height:
            48px;

    }

    .nc-newsletter-form button {

        width:
            100%;

    }

    .nc-footer-bottom-inner {

        padding:
            22px 0;

        flex-direction:
            column;

        text-align:
            center;

    }

}


@media (max-width: 480px) {

    .nc-footer-legal {

        flex-wrap:
            wrap;

        justify-content:
            center;

    }

    .nc-footer-contact-item strong {

        font-size:
            .78rem;

    }

}


/* ============================================================
   REDUCED MOTION
   ============================================================ */

@media (prefers-reduced-motion: reduce) {

    .nc-footer *,
    .nc-footer *::before,
    .nc-footer *::after {

        animation:
            none !important;

        transition:
            none !important;

    }

}



/* ================ newsletter notefication ================= */
/* ============================================================
   NEWSLETTER RESPONSE
   ============================================================ */

.nc-newsletter-message {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
    font-size: .75rem;
    line-height: 1.4;
}

.nc-newsletter-message-success {
    color: #3d756d;
}

.nc-newsletter-message-info {
    color: #55706a;
}

.nc-newsletter-message-error {
    color: #a44f4f;
}