/* NCPSL Footer v6 */

.ncpsl-footer {
    background: var(--ncpsl-navy);
    color: #fff;
    font-family: 'Inter', sans-serif;
    margin-top: 60px;
}

.ncpsl-footer-main { padding: 60px 0 40px; }
.ncpsl-footer-main .ncpsl-container {
    display: grid;
    grid-template-columns: 1.2fr 1.3fr 1fr 1fr;
    gap: 40px; align-items: flex-start;
}

/* Column 1: Brand — logo + title CENTERED */
.footer-brand-col {
    display: flex; flex-direction: column;
    align-items: center;
    gap: 16px;
    text-align: center;
}
.footer-logo { width: 140px; height: 140px; object-fit: contain; }
.footer-title-hi {
    font-family: 'Noto Sans Devanagari', 'Inter', sans-serif;
    font-size: 20px; font-weight: 600; color: #fff;
    margin: 0; line-height: 1.4;
    text-align: center;
}
.footer-socials {
    display: flex; gap: 12px; margin-top: 8px;
    justify-content: center;
}
.social-link {
    display: inline-flex; align-items: center; justify-content: center;
    width: 40px; height: 40px; border-radius: 50%;
    background: var(--ncpsl-navy-dark);
    color: #fff; text-decoration: none;
    transition: all 0.2s; border: 1px solid rgba(255,255,255,0.15);
}
.social-link:hover, .social-link:focus {
    background: var(--ncpsl-saffron); color: var(--ncpsl-navy);
    transform: translateY(-2px);
}

/* Columns 2-4 */
.footer-col-title {
    font-family: 'Inter', sans-serif;
    font-size: 0.875rem; font-weight: 600; color: #fff;
    letter-spacing: 1.5px; margin: 0 0 24px; text-transform: uppercase;
}
.footer-address {
    font-family: 'Inter', sans-serif;
    font-style: normal; color: #fff;
    font-size: 0.875rem; font-weight: 500;
    line-height: 1.7; margin: 0 0 20px;
}
.footer-contact-item {
    font-family: 'Inter', sans-serif;
    color: #fff; margin: 0 0 12px;
    font-size: 0.875rem; font-weight: 500; line-height: 1.6;
}
.footer-contact-item strong { color: #fff; font-weight: 600; margin-right: 4px; }
.footer-contact-item a {
    color: #fff; text-decoration: none;
    transition: color 0.2s;
}
.footer-contact-item a:hover, .footer-contact-item a:focus {
    color: var(--ncpsl-saffron); text-decoration: underline;
}
.footer-links {
    list-style: none; padding: 0; margin: 0;
    display: flex; flex-direction: column; gap: 14px;
}
.footer-links a {
    font-family: 'Inter', sans-serif;
    color: #fff; text-decoration: none;
    font-size: 0.875rem; font-weight: 500;
    transition: all 0.2s;
    display: inline-block; padding: 2px 0;
}
.footer-links a:hover, .footer-links a:focus {
    color: var(--ncpsl-saffron); padding-left: 6px;
}

/* Bottom */
.ncpsl-footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.12);
    padding: 20px 0;
    background: var(--ncpsl-navy);
}
.ncpsl-footer-bottom .ncpsl-container {
    flex-wrap: wrap; gap: 16px; align-items: center;
    justify-content: space-between;
}
.footer-copyright {
    color: rgba(255,255,255,0.85); font-size: 0.8125rem;
    font-family: 'Inter', sans-serif;
    display: inline-flex; flex-wrap: wrap; gap: 8px; align-items: center;
}
.footer-sep { color: rgba(255,255,255,0.4); }
.footer-policies {
    list-style: none; padding: 0; margin: 0;
    display: flex; flex-wrap: wrap; gap: 24px;
}
.footer-policies a {
    color: rgba(255,255,255,0.85); text-decoration: none;
    font-size: 0.8125rem; transition: color 0.2s;
    font-family: 'Inter', sans-serif;
}
.footer-policies a:hover, .footer-policies a:focus {
    color: var(--ncpsl-saffron); text-decoration: underline;
}

/* Responsive */
@media (max-width: 991px) {
    .ncpsl-footer-main .ncpsl-container {
        grid-template-columns: 1fr 1fr; gap: 40px 30px;
    }
    .footer-brand-col { grid-column: 1 / -1; }
}
@media (max-width: 576px) {
    .ncpsl-footer-main { padding: 40px 0 30px; }
    .ncpsl-footer-main .ncpsl-container { grid-template-columns: 1fr; gap: 30px; }
    .ncpsl-footer-bottom .ncpsl-container { flex-direction: column; text-align: center; }
    .footer-policies { justify-content: center; gap: 16px; }
    .footer-copyright { justify-content: center; text-align: center; }
    .footer-logo { width: 110px; height: 110px; }
    .footer-title-hi { font-size: 17px; }
}
@media print {
    .ncpsl-footer-bottom, .footer-socials { display: none; }
    .ncpsl-footer { background: #fff !important; color: #000 !important; border-top: 2px solid #000; }
    .ncpsl-footer * { color: #000 !important; }
}

/* =====================================================
   MOBILE FOOTER v7 — design match (<=767px ONLY)
   Desktop/tablet untouched
   ===================================================== */
@media (max-width: 767px) {
    .ncpsl-footer-main { padding: 36px 0 0; }
    .ncpsl-footer-main .ncpsl-container {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-areas:
            "logo    logo"
            "title   title"
            "res     quick"
            "contact contact"
            "social  social";
        gap: 0; padding: 0 20px; align-items: start;
    }

    /* Brand col children become direct grid items */
    .ncpsl-footer-main .footer-brand-col { display: contents; }
    .ncpsl-footer .footer-logo {
        grid-area: logo; justify-self: center;
        width: 72px; height: 72px; margin-bottom: 16px;
    }
    .ncpsl-footer .footer-title-hi.ncpsl-no-resize {
        grid-area: title; font-size: 20px !important; font-weight: 700;
        text-align: center; margin: 0; padding-bottom: 24px;
        border-bottom: 1px solid rgba(255,255,255,0.15);
    }

    /* Resources | Quick Links side by side */
    .ncpsl-footer-main .footer-col:nth-child(3) { grid-area: res;   padding: 24px 12px 28px 0; }
    .ncpsl-footer-main .footer-col:nth-child(4) { grid-area: quick; padding: 24px 0 28px 12px; }

    /* Contact full width below */
    .ncpsl-footer-main .footer-col:nth-child(2) {
        grid-area: contact; padding: 24px 0 8px;
        border-top: 1px solid rgba(255,255,255,0.15);
    }

    /* Socials after contact, left aligned */
    .ncpsl-footer .footer-socials {
        grid-area: social; justify-content: flex-start;
        margin: 8px 0 28px; gap: 12px;
    }
    .ncpsl-footer .social-link {
        width: 44px; height: 44px; border: 0;
        background: rgba(255,255,255,0.08);
    }

    /* Typography */
    .ncpsl-footer .footer-col-title { font-size: 1rem; letter-spacing: 0.5px; margin: 0 0 18px; }
    .ncpsl-footer .footer-links { gap: 14px; }
    .ncpsl-footer .footer-links a { font-size: 0.9375rem; color: rgba(255,255,255,0.8); }
    .ncpsl-footer .footer-address,
    .ncpsl-footer .footer-contact-item { font-size: 0.9375rem; font-weight: 400; color: rgba(255,255,255,0.8); }
    .ncpsl-footer .footer-contact-item strong,
    .ncpsl-footer .footer-contact-item a { font-weight: 400; color: rgba(255,255,255,0.8); }

    /* Bottom bar: policies 2x2 on top, copyright below */
    .ncpsl-footer-bottom { padding: 0 0 28px; border-top: 1px solid rgba(255,255,255,0.15); }
    .ncpsl-footer-bottom .ncpsl-container {
        display: flex; flex-direction: column; align-items: stretch;
        text-align: left; gap: 0; padding: 0 20px;
    }
    .ncpsl-footer-bottom .footer-policies {
        order: -1; display: grid; grid-template-columns: 1fr 1fr;
        gap: 18px 12px; padding: 24px 0;
        border-bottom: 1px solid rgba(255,255,255,0.15);
    }
    .ncpsl-footer-bottom .footer-policies a { font-size: 0.9375rem; color: #fff; }
    .ncpsl-footer-bottom .footer-copyright {
        display: block; padding-top: 24px; text-align: left;
        font-size: 0.875rem; line-height: 1.7; color: rgba(255,255,255,0.7);
    }
    .ncpsl-footer-bottom .footer-copyright .footer-sep { margin: 0 6px; }
}
