/* ==========================================================================
   Parishram UI polish layer
   - Sharper colours, cleaner header with icons
   - Attractive footer (Important Links / Get in Touch cards, working icons)
   - App-style bottom navigation (Home / Course / Past / Menu) on mobile
   Loaded automatically by js/parishram-ui.js (can also be linked in <head>).
   ========================================================================== */

/* Font Awesome 4.7 fix: the local font files are missing on the server,
   so point the same font family to the official CDN copy. */
@font-face {
    font-family: 'FontAwesome';
    src: url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),
         url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),
         url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* ---------- Sharper palette ---------- */
:root {
    --p-color: #f26b1d;          /* vivid brand orange */
    --ph-color: #c2410c;         /* deep orange for hover */
    --s-color: #fbbf24;
    --yellow: #f26b1d;
    --text-color: #1f2937;
    --ph-navy: #0f172a;
    --ph-navy-2: #1e293b;
    --ph-grad: linear-gradient(135deg, #f26b1d 0%, #f59e0b 100%);
    --ph-bnav-h: 64px;
}

html { -webkit-tap-highlight-color: transparent; }
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    color: var(--text-color);
}
a, button { transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
img { image-rendering: -webkit-optimize-contrast; }

/* ---------- Header ---------- */
.mainHeader {
    background: rgba(255, 255, 255, .97);
    border-bottom: 3px solid transparent;
    border-image: var(--ph-grad) 1;
    box-shadow: 0 2px 14px rgba(15, 23, 42, .06);
}
.mainHeader.ph-scrolled,
.mainHeader.sticky {
    box-shadow: 0 8px 24px rgba(15, 23, 42, .12);
}
@supports ((-webkit-backdrop-filter: blur(8px)) or (backdrop-filter: blur(8px))) {
    .mainHeader { background: rgba(255, 255, 255, .9); -webkit-backdrop-filter: saturate(160%) blur(10px); backdrop-filter: saturate(160%) blur(10px); }
}

.headernav .topNav { border-bottom: 1px solid rgba(15, 23, 42, .06); }
.headernav .topNav ul li a { font-weight: 500; }

.headernav .mainNav > ul > li > a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--ph-navy);
    font-size: 16px;
    font-weight: 600;
    letter-spacing: -.2px;
    position: relative;
}
.headernav .mainNav > ul > li > a:after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: 8px;
    height: 3px;
    border-radius: 3px;
    background: var(--ph-grad);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .25s ease;
}
.headernav .mainNav > ul > li:hover > a,
.headernav .mainNav > ul > li > a.ph-active { color: var(--p-color); }
.headernav .mainNav > ul > li:hover > a:after,
.headernav .mainNav > ul > li > a.ph-active:after { transform: scaleX(1); }

.ph-ico {
    width: 18px; height: 18px;
    flex: 0 0 18px;
    display: inline-block;
    vertical-align: -3px;
    stroke: currentColor;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.headernav .mainNav > ul > li > a .ph-ico {
    width: 30px; height: 30px; flex-basis: 30px;
    padding: 6px;
    border-radius: 9px;
    color: var(--p-color);
    background: rgba(242, 107, 29, .1);
}
.headernav .mainNav > ul > li:hover > a .ph-ico { background: var(--p-color); color: #fff; }

.headernav .dropdownMenu { border-radius: 12px; overflow: hidden; box-shadow: 0 18px 40px rgba(15, 23, 42, .18); }
.headernav .dropdownMenu > li > a:hover { color: var(--p-color); padding-left: 6px; }

.headerCall a.applyNow {
    background: var(--ph-grad);
    border-radius: 10px;
    font-weight: 700;
    box-shadow: 0 6px 16px rgba(242, 107, 29, .35);
}
.headerCall a.applyNow:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(242, 107, 29, .45); }
.headerCall span { color: var(--p-color); }

/* ---------- Footer ---------- */
footer {
    background: radial-gradient(1200px 400px at 10% -10%, rgba(242, 107, 29, .18), transparent 60%),
                linear-gradient(180deg, #111827 0%, #0b1120 100%);
    border-top: 4px solid transparent;
    border-image: var(--ph-grad) 1;
    position: relative;
}
footer h4, footer .ph-f-head {
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .6px;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    padding-bottom: 12px;
    position: relative;
}
footer .ph-f-head:after {
    content: "";
    position: absolute;
    left: 0; bottom: 0;
    width: 48px; height: 3px;
    border-radius: 3px;
    background: var(--ph-grad);
}
footer .ph-f-head .ph-ico {
    width: 32px; height: 32px; flex-basis: 32px;
    padding: 7px;
    border-radius: 10px;
    color: #fff;
    background: var(--ph-grad);
}
footer p, footer a { color: rgba(255, 255, 255, .78); font-size: 14px; }
footer a:hover { color: #fff; }

/* Card look for the two key footer blocks */
.ph-f-card {
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 16px;
    padding: 22px 22px 18px;
    text-align: left;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
}

/* Important Links: tidy two-column list with chevrons */
.ph-f-links ul { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 14px; margin: 0; padding: 0; width: 100% !important; }
.ph-f-links ul li { float: none !important; width: auto !important; margin: 0 !important; list-style: none; }
.ph-f-links a {
    display: flex !important;
    align-items: center;
    gap: 8px;
    padding: 8px 10px !important;
    border-radius: 10px;
    color: rgba(255, 255, 255, .82);
    line-height: 1.3;
}
.ph-f-links a:before { display: none !important; }
.ph-f-links a .ph-ico { width: 14px; height: 14px; flex-basis: 14px; color: var(--s-color); transition: transform .2s ease; }
.ph-f-links a:hover { background: rgba(242, 107, 29, .14); color: #fff; }
.ph-f-links a:hover .ph-ico { transform: translateX(3px); }

/* Get in Touch: icon rows */
.ph-f-contact .ph-c-row {
    display: flex !important;
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    align-items: flex-start;
    gap: 12px;
    padding: 9px 0;
    text-align: left;
    color: rgba(255, 255, 255, .85);
    line-height: 1.5;
}
.ph-f-contact .ph-c-row + .ph-c-row { border-top: 1px dashed rgba(255, 255, 255, .08); }
.ph-f-contact .ph-c-ico {
    flex: 0 0 38px;
    width: 38px; height: 38px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(242, 107, 29, .16);
    color: var(--p-color);
}
.ph-f-contact .ph-c-ico .ph-ico { width: 18px; height: 18px; }
.ph-f-contact .ph-c-row:hover .ph-c-ico { background: var(--p-color); color: #fff; }
.ph-f-contact .ph-c-row a { padding-left: 0 !important; }
.ph-f-contact .ph-c-row a:before { display: none !important; }
.ph-f-contact .ph-hide-broken { display: none !important; }

/* Social icons */
footer ul.socialLink li a,
footer .ph-social a {
    width: 40px; height: 40px;
    border-radius: 12px;
    background: rgba(255, 255, 255, .08);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
}
footer ul.socialLink li a:hover,
footer .ph-social a:hover { transform: translateY(-3px); color: #fff; }
footer .ph-social a.ph-fb:hover { background: #1877f2; }
footer .ph-social a.ph-ig:hover { background: linear-gradient(45deg, #f58529, #dd2a7b, #8134af); }
footer .ph-social a.ph-yt:hover { background: #ff0000; }
footer .ph-social a.ph-tw:hover { background: #000; }
footer .ph-social a.ph-in:hover { background: #0a66c2; }
footer .ph-social a.ph-wa:hover { background: #25d366; }
footer .ph-social a.ph-tg:hover { background: #229ed9; }
footer .ph-social a .fa { font-size: 18px; line-height: 1; }
footer ul.socialLink li a:before,
footer .ph-social a:before { display: none !important; content: none !important; }
footer .ph-social a { padding: 0 !important; }
.ph-f-card ul.socialLink,
.ph-f-card .ph-social { margin: 16px 0 0 !important; width: 100% !important; justify-content: flex-start; position: static !important; display: flex !important; gap: 8px; padding: 0; }
.ph-f-card ul.socialLink li { width: auto !important; margin: 0 !important; float: none !important; }

.copyright {
    background: #070b14;
    border-top: 1px solid rgba(255, 255, 255, .06);
    color: rgba(255, 255, 255, .7);
}
.copyright a { color: var(--s-color); }

/* ---------- App-style bottom navigation (mobile) ---------- */
.ph-bnav, .ph-sheet, .ph-overlay { display: none; }

@media (max-width: 991px) {
    body.ph-has-bnav { padding-bottom: calc(var(--ph-bnav-h) + env(safe-area-inset-bottom, 0px)); }

    .ph-bnav {
        display: flex;
        position: fixed;
        left: 10px; right: 10px;
        bottom: calc(8px + env(safe-area-inset-bottom, 0px));
        height: var(--ph-bnav-h);
        z-index: 99990;
        background: rgba(255, 255, 255, .96);
        border-radius: 20px;
        box-shadow: 0 10px 30px rgba(15, 23, 42, .22), 0 0 0 1px rgba(15, 23, 42, .05);
        padding: 6px;
        justify-content: space-around;
        align-items: stretch;
    }
    @supports ((-webkit-backdrop-filter: blur(8px)) or (backdrop-filter: blur(8px))) {
        .ph-bnav { background: rgba(255, 255, 255, .88); -webkit-backdrop-filter: saturate(180%) blur(14px); backdrop-filter: saturate(180%) blur(14px); }
    }
    .ph-bnav__item {
        flex: 1 1 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 3px;
        border: 0;
        background: transparent;
        color: #64748b !important;
        font: 600 11px/1 var(--p-font, 'Inter', sans-serif);
        letter-spacing: .2px;
        text-decoration: none !important;
        border-radius: 14px;
        cursor: pointer;
        position: relative;
        padding: 0;
        -webkit-appearance: none;
        appearance: none;
    }
    .ph-bnav__item .ph-ico { width: 22px; height: 22px; flex-basis: auto; }
    .ph-bnav__item:active { transform: scale(.94); }
    .ph-bnav__item.is-active { color: var(--p-color) !important; background: rgba(242, 107, 29, .1); }
    .ph-bnav__item.is-active:before {
        content: "";
        position: absolute;
        top: 4px;
        width: 5px; height: 5px;
        border-radius: 50%;
        background: var(--p-color);
    }
    .ph-bnav__item--menu .ph-bnav__bubble {
        width: 40px; height: 30px;
        border-radius: 10px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: var(--ph-grad);
        color: #fff;
        box-shadow: 0 6px 14px rgba(242, 107, 29, .4);
    }
    .ph-bnav__item--menu .ph-bnav__bubble .ph-ico { width: 20px; height: 20px; }
    .ph-bnav__item--menu.is-open { color: var(--p-color) !important; }

    /* Overlay + bottom sheet menu */
    .ph-overlay {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 99991;
        background: rgba(15, 23, 42, .55);
        opacity: 0;
        visibility: hidden;
        transition: opacity .25s ease, visibility .25s ease;
    }
    .ph-sheet {
        display: flex;
        flex-direction: column;
        position: fixed;
        left: 0; right: 0; bottom: 0;
        max-height: 86vh;
        z-index: 99992;
        background: #fff;
        border-radius: 24px 24px 0 0;
        box-shadow: 0 -20px 40px rgba(15, 23, 42, .25);
        transform: translateY(105%);
        transition: transform .32s cubic-bezier(.2, .8, .2, 1);
        padding-bottom: env(safe-area-inset-bottom, 0px);
        font-family: var(--p-font, 'Inter', sans-serif);
    }
    body.ph-menu-open { overflow: hidden; }
    body.ph-menu-open .ph-overlay { opacity: 1; visibility: visible; }
    body.ph-menu-open .ph-sheet { transform: translateY(0); }

    .ph-sheet__grab { width: 44px; height: 5px; border-radius: 5px; background: #cbd5e1; margin: 10px auto 4px; flex: 0 0 auto; }
    .ph-sheet__head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 6px 18px 12px;
        border-bottom: 1px solid #eef2f7;
        flex: 0 0 auto;
    }
    .ph-sheet__head img { max-height: 40px; max-width: 170px; width: auto; }
    .ph-sheet__title { font-size: 17px; font-weight: 800; color: var(--ph-navy); margin: 0; }
    .ph-sheet__close {
        width: 38px; height: 38px;
        border-radius: 12px;
        border: 0;
        background: #f1f5f9;
        color: var(--ph-navy);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
    }
    .ph-sheet__body { overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 14px 16px 20px; flex: 1 1 auto; }

    .ph-quick { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 16px; }
    .ph-quick a {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 6px;
        padding: 12px 6px;
        border-radius: 14px;
        background: #fff7ed;
        color: var(--ph-navy) !important;
        font-size: 12px;
        font-weight: 700;
        text-decoration: none !important;
        border: 1px solid #ffedd5;
    }
    .ph-quick a .ph-ico { width: 22px; height: 22px; color: var(--p-color); }
    .ph-quick a.ph-q-wa .ph-ico { color: #16a34a; }

    .ph-group { margin-bottom: 8px; border: 1px solid #eef2f7; border-radius: 14px; overflow: hidden; }
    .ph-group__btn, .ph-link {
        width: 100%;
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 12px 14px;
        background: #fff;
        border: 0;
        color: var(--ph-navy) !important;
        font-size: 15px;
        font-weight: 600;
        text-align: left;
        text-decoration: none !important;
        cursor: pointer;
        font-family: inherit;
    }
    .ph-group__btn .ph-lead, .ph-link .ph-lead {
        width: 34px; height: 34px; flex: 0 0 34px;
        border-radius: 10px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: rgba(242, 107, 29, .1);
        color: var(--p-color);
    }
    .ph-group__btn .ph-caret { margin-left: auto; color: #94a3b8; transition: transform .2s ease; }
    .ph-group.is-open .ph-group__btn .ph-caret { transform: rotate(90deg); }
    .ph-link.is-active { color: var(--p-color) !important; background: #fff7ed; }
    .ph-group__list { display: none; padding: 4px 10px 10px 58px; background: #fafbfc; margin: 0; list-style: none; }
    .ph-group.is-open .ph-group__list { display: block; }
    .ph-group__list a {
        display: block;
        padding: 9px 4px;
        color: #334155 !important;
        font-size: 14px;
        font-weight: 500;
        border-bottom: 1px dashed #e2e8f0;
        text-decoration: none !important;
    }
    .ph-group__list li:last-child a { border-bottom: 0; }
    .ph-group__list a.is-active { color: var(--p-color) !important; }

    /* Keep other floating widgets above the bottom bar */
    .whatsapp, #scrollUp, .scrollToTop, .scroll-top, .back-to-top, #back-to-top {
        bottom: calc(var(--ph-bnav-h) + 22px + env(safe-area-inset-bottom, 0px)) !important;
    }
}

/* Footer layout on small screens */
@media (max-width: 767px) {
    .ph-f-card { padding: 18px 16px 14px; margin-bottom: 16px; width: 100% !important; }
    .ph-f-links ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    footer ul.socialLink { margin-top: 0 !important; width: 100% !important; justify-content: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
    .ph-sheet, .ph-overlay, .ph-bnav__item, a, button { transition: none !important; }
}

/* ==========================================================================
   New footer markup (.ph-footer) - used by the updated footer file
   ========================================================================== */
footer.ph-footer {
    padding: 44px 0 0;
    text-align: left;
    background: radial-gradient(900px 360px at 0% 0%, rgba(242, 107, 29, .20), transparent 60%),
                radial-gradient(700px 300px at 100% 100%, rgba(59, 130, 246, .10), transparent 60%),
                linear-gradient(180deg, #151935 0%, #0d1024 100%);
}
.ph-footer svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
.ph-footer svg.ph-fill { fill: currentColor; stroke: none; }
.ph-fgrid {
    display: grid;
    grid-template-columns: 1fr 1.25fr 1.15fr 1fr;
    gap: 20px;
    padding-bottom: 36px;
}
.ph-fcard {
    background: rgba(255, 255, 255, .045);
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 18px;
    padding: 22px 20px;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .28);
    transition: transform .25s ease, border-color .25s ease;
}
.ph-fcard:hover { transform: translateY(-4px); border-color: rgba(242, 107, 29, .45); }
.ph-footer h4.ph-fhead {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: .6px;
    text-transform: uppercase;
    margin: 0 0 18px;
    padding: 0 0 14px;
    position: relative;
}
.ph-footer h4.ph-fhead:after {
    content: "";
    position: absolute;
    left: 0; bottom: 0;
    width: 46px; height: 3px;
    border-radius: 3px;
    background: var(--ph-grad);
}
.ph-fhead-ico {
    width: 34px; height: 34px;
    border-radius: 11px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--ph-grad);
    color: #fff;
    box-shadow: 0 6px 16px rgba(242, 107, 29, .35);
}

/* Important links */
.ph-footer ul.ph-flinks { display: block; margin: 0; padding: 0; list-style: none; }
.ph-footer ul.ph-flinks li { float: none; width: auto; margin: 0 0 4px; padding: 0; list-style: none; }
.ph-footer ul.ph-flinks a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    border-radius: 11px;
    color: rgba(255, 255, 255, .85);
    font-size: 14.5px;
    font-weight: 500;
    text-decoration: none;
}
.ph-footer ul.ph-flinks a:before { display: none !important; content: none !important; }
.ph-footer ul.ph-flinks a svg { width: 15px; height: 15px; color: #fbbf24; transition: transform .2s ease; }
.ph-footer ul.ph-flinks a:hover { background: rgba(242, 107, 29, .16); color: #fff; }
.ph-footer ul.ph-flinks a:hover svg { transform: translateX(4px); }

/* Get in touch */
.ph-frow {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 10px 0;
    color: rgba(255, 255, 255, .88);
    font-size: 14px;
    line-height: 1.6;
}
.ph-frow + .ph-frow { border-top: 1px dashed rgba(255, 255, 255, .1); }
.ph-frow small {
    display: block;
    color: #fbbf24;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: .8px;
    text-transform: uppercase;
    margin-bottom: 2px;
}
.ph-frow a { color: #fff; font-size: 14px; font-weight: 600; white-space: nowrap; }
.ph-frow a:hover { color: #fbbf24; }
.ph-fsep { color: rgba(255, 255, 255, .4); margin: 0 4px; }
.ph-frow-ico {
    width: 40px; height: 40px;
    flex: 0 0 40px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(242, 107, 29, .16);
    color: var(--p-color);
}
.ph-frow:hover .ph-frow-ico { background: var(--p-color); color: #fff; }
.ph-footer a.ph-fcall {
    margin-top: 12px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    border-radius: 12px;
    background: var(--ph-grad);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    box-shadow: 0 8px 18px rgba(242, 107, 29, .35);
}
.ph-footer a.ph-fcall:hover { transform: translateY(-2px); color: #fff; }

/* Map */
.ph-fmap { border-radius: 14px; overflow: hidden; border: 1px solid rgba(255, 255, 255, .12); line-height: 0; }
.ph-fmap iframe { width: 100%; height: 170px; display: block; filter: saturate(1.1); }

/* Social */
.ph-fsocial { display: flex; flex-wrap: wrap; gap: 10px; }
.ph-footer .ph-fsocial a {
    width: 44px; height: 44px;
    border-radius: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .09);
    color: #fff;
}
.ph-footer .ph-fsocial a svg { width: 19px; height: 19px; }
.ph-footer .ph-fsocial a:hover { transform: translateY(-3px); color: #fff; }
.ph-footer .ph-fsocial a.ph-fb:hover { background: #1877f2; }
.ph-footer .ph-fsocial a.ph-in:hover { background: #0a66c2; }
.ph-footer .ph-fsocial a.ph-tw:hover { background: #000; }
.ph-footer .ph-fsocial a.ph-yt:hover { background: #ff0000; }

.ph-fsearch {
    display: flex;
    margin-top: 16px;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 6px 16px rgba(0, 0, 0, .25);
}
.ph-fsearch input { flex: 1 1 auto; min-width: 0; border: 0; outline: 0; padding: 11px 14px; font-size: 14px; color: #0f172a; background: transparent; }
.ph-fsearch button { border: 0; background: var(--ph-grad); color: #fff; width: 46px; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.ph-fclock { margin-top: 12px; line-height: 0; }
.ph-fclock iframe { max-width: 100%; }

.copyright.ph-fcopy {
    margin: 0;
    background: #0a0c1c;
    border-top: 3px solid transparent;
    border-image: var(--ph-grad) 1;
    color: rgba(255, 255, 255, .75);
    padding: 16px 0;
    font-size: 13px;
}
.copyright.ph-fcopy a { color: #fbbf24; }

@media (max-width: 1199px) {
    .ph-fgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    footer.ph-footer { padding-top: 26px; }
    .ph-fgrid { grid-template-columns: 1fr; gap: 14px; padding-bottom: 22px; }
    .ph-fcard { padding: 18px 16px; }
    .ph-fcard:hover { transform: none; }
    .ph-footer ul.ph-flinks { display: grid; grid-template-columns: 1fr 1fr; gap: 2px 8px; }
    .ph-footer ul.ph-flinks a { padding: 9px 8px; font-size: 14px; }
}

/* ==========================================================================
   Fix: "View E-brochure" / "PAST Registration" banner buttons wrapping
   into two lines on small screens - force one row, shrink to fit.
   ========================================================================== */
.belowBannerSection .belowBannerCenter {
    flex-wrap: nowrap !important;
    gap: 8px;
    width: 100%;
}
.belowBannerSection .belowBannerCenter .rightBtn {
    flex: 1 1 0;
    min-width: 0;
}
.belowBannerSection .belowBannerCenter a,
.belowBannerSection .actionBtn {
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
@media (max-width: 480px) {
    .belowBannerSection .belowBannerCenter { gap: 6px; }
    .belowBannerSection .belowBannerCenter .rightBtn { margin: 0 !important; width: auto !important; }
    .belowBannerSection .belowBannerCenter a { font-size: 12px !important; padding: 8px 6px !important; padding-left: 30px !important; }
    .belowBannerSection .actionBtn { font-size: 11px !important; padding: 10px 6px !important; padding-left: 34px !important; letter-spacing: 0; }
    .belowBannerSection .actionBtn span { width: 20px; height: 20px; left: 7px; }
}
@media (max-width: 360px) {
    .belowBannerSection .belowBannerCenter a { font-size: 11px !important; padding-left: 26px !important; }
    .belowBannerSection .actionBtn { font-size: 10px !important; padding-left: 28px !important; }
}

/* ==========================================================================
   Footer: brand-coloured social icons by default (not just on hover),
   and a touch more presence.
   ========================================================================== */
.ph-fsocial a,
footer ul.socialLink li a {
    background: rgba(255, 255, 255, .1) !important;
    box-shadow: 0 6px 14px rgba(0, 0, 0, .22);
}
.ph-fsocial a.ph-fb, footer ul.socialLink li a[class*="fb"] { background: #1877f2 !important; color: #fff !important; }
.ph-fsocial a.ph-in, footer ul.socialLink li a[class*="in"]  { background: #0a66c2 !important; color: #fff !important; }
.ph-fsocial a.ph-tw, footer ul.socialLink li a[class*="tw"]  { background: #111 !important; color: #fff !important; }
.ph-fsocial a.ph-yt, footer ul.socialLink li a[class*="yt"]  { background: #ff0000 !important; color: #fff !important; }
.ph-fsocial a.ph-ig { background: linear-gradient(45deg, #f58529, #dd2a7b, #8134af) !important; color: #fff !important; }
.ph-fsocial a.ph-wa { background: #25d366 !important; color: #fff !important; }
.ph-fsocial a:hover { transform: translateY(-4px) scale(1.06); filter: brightness(1.1); }

/* ==========================================================================
   AI Sahayak - floating chat assistant (sits above the WhatsApp button)
   ========================================================================== */
.ph-ai-fab {
    position: fixed;
    z-index: 999950;
    width: 56px; height: 56px;
    border: 0;
    border-radius: 50%;
    background: var(--ph-grad);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 10px 26px rgba(242, 107, 29, .5);
    animation: ph-ai-pulse 2.6s ease-in-out infinite;
}
.ph-ai-fab svg { width: 26px; height: 26px; stroke: #fff; fill: none; stroke-width: 1.8; }
.ph-ai-fab .ph-ai-badge {
    position: absolute;
    top: -4px; right: -4px;
    background: #16a34a;
    color: #fff;
    font: 700 9px/1 var(--p-font, sans-serif);
    padding: 3px 5px;
    border-radius: 20px;
    box-shadow: 0 0 0 2px #fff;
    letter-spacing: .3px;
}
.ph-ai-fab.is-open { animation: none; }
@keyframes ph-ai-pulse {
    0%, 100% { box-shadow: 0 10px 26px rgba(242, 107, 29, .5), 0 0 0 0 rgba(242, 107, 29, .5); }
    50% { box-shadow: 0 10px 26px rgba(242, 107, 29, .5), 0 0 0 10px rgba(242, 107, 29, 0); }
}
.ph-ai-tip {
    position: fixed;
    z-index: 999949;
    background: #0f172a;
    color: #fff;
    font: 600 12.5px/1.3 var(--p-font, sans-serif);
    padding: 7px 12px;
    border-radius: 10px;
    white-space: nowrap;
    box-shadow: 0 8px 18px rgba(0, 0, 0, .25);
    opacity: 0;
    transform: translateX(6px);
    transition: opacity .3s ease .8s, transform .3s ease .8s;
    pointer-events: none;
}
.ph-ai-tip.show { opacity: 1; transform: translateX(0); }
.ph-ai-tip:after {
    content: "";
    position: absolute;
    right: -5px; top: 50%;
    transform: translateY(-50%);
    border-width: 5px 0 5px 6px;
    border-style: solid;
    border-color: transparent transparent transparent #0f172a;
}

.ph-ai-panel {
    position: fixed;
    z-index: 999960;
    right: 16px;
    width: 380px;
    max-width: calc(100vw - 24px);
    height: 78vh;
    max-height: 640px;
    background: #f4f6fb;
    border-radius: 20px;
    box-shadow: 0 30px 70px rgba(15, 23, 42, .35);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transform: translateY(16px) scale(.97);
    transform-origin: bottom right;
    transition: opacity .22s ease, transform .22s ease, visibility .22s;
    font-family: var(--p-font, 'Inter', sans-serif);
}
.ph-ai-panel.is-open { opacity: 1; visibility: visible; transform: translateY(0) scale(1); }

.ph-ai-head {
    background: var(--ph-grad);
    color: #fff;
    padding: 14px 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 0 0 auto;
}
.ph-ai-head .ph-ai-avatar {
    width: 38px; height: 38px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .2);
    display: flex; align-items: center; justify-content: center;
    flex: 0 0 38px;
}
.ph-ai-head .ph-ai-avatar svg { width: 20px; height: 20px; stroke: #fff; fill: none; stroke-width: 2; }
.ph-ai-head-txt { flex: 1 1 auto; min-width: 0; }
.ph-ai-head-txt b { display: block; font-size: 15px; }
.ph-ai-head-txt span { display: flex; align-items: center; gap: 5px; font-size: 11.5px; opacity: .9; }
.ph-ai-dot { width: 7px; height: 7px; border-radius: 50%; background: #4ade80; box-shadow: 0 0 0 2px rgba(255,255,255,.4); }
.ph-ai-close { border: 0; background: rgba(255,255,255,.18); color: #fff; width: 32px; height: 32px; border-radius: 10px; display: flex; align-items: center; justify-content: center; cursor: pointer; flex: 0 0 auto; }
.ph-ai-close svg { width: 16px; height: 16px; }

.ph-ai-body { flex: 1 1 auto; overflow-y: auto; padding: 14px; -webkit-overflow-scrolling: touch; }
.ph-ai-msg { display: flex; gap: 8px; margin-bottom: 14px; align-items: flex-start; }
.ph-ai-msg .ph-ai-av {
    width: 26px; height: 26px; border-radius: 50%; flex: 0 0 26px;
    display: flex; align-items: center; justify-content: center;
    background: var(--ph-grad); color: #fff;
}
.ph-ai-msg .ph-ai-av svg { width: 14px; height: 14px; }
.ph-ai-msg .ph-ai-bubble {
    background: #fff;
    border-radius: 4px 14px 14px 14px;
    padding: 10px 13px;
    font-size: 13.6px;
    line-height: 1.55;
    color: #1f2937;
    box-shadow: 0 4px 12px rgba(15, 23, 42, .06);
    max-width: 84%;
}
.ph-ai-msg.user { flex-direction: row-reverse; }
.ph-ai-msg.user .ph-ai-bubble { background: var(--ph-grad); color: #fff; border-radius: 14px 4px 14px 14px; }
.ph-ai-bubble p { margin: 0 0 6px; }
.ph-ai-bubble p:last-child { margin-bottom: 0; }
.ph-ai-bubble ul { margin: 4px 0 6px; padding-left: 18px; }
.ph-ai-bubble li { margin-bottom: 3px; }
.ph-ai-bubble b { color: var(--p-color); }
.ph-ai-msg.user .ph-ai-bubble b { color: #fff; }
.ph-ai-bubble a.ph-ai-link { color: var(--p-color); font-weight: 700; text-decoration: underline; }

.ph-ai-typing .ph-ai-bubble { display: flex; gap: 4px; align-items: center; padding: 12px 14px; }
.ph-ai-typing span { width: 6px; height: 6px; border-radius: 50%; background: #94a3b8; animation: ph-ai-blink 1.2s infinite; }
.ph-ai-typing span:nth-child(2) { animation-delay: .15s; }
.ph-ai-typing span:nth-child(3) { animation-delay: .3s; }
@keyframes ph-ai-blink { 0%, 80%, 100% { opacity: .3; transform: scale(.8); } 40% { opacity: 1; transform: scale(1); } }

.ph-ai-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 2px 0 16px 34px; }
.ph-ai-chip {
    border: 1px solid #ffd9b8;
    background: #fff7ed;
    color: #9a3412;
    font-size: 12px;
    font-weight: 700;
    padding: 6px 12px;
    border-radius: 20px;
    cursor: pointer;
    white-space: nowrap;
}
.ph-ai-chip:hover { background: var(--p-color); color: #fff; border-color: var(--p-color); }

.ph-ai-foot { flex: 0 0 auto; border-top: 1px solid #e6e9f2; background: #fff; padding: 10px; display: flex; gap: 8px; align-items: center; }
.ph-ai-foot input {
    flex: 1 1 auto; min-width: 0;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    border-radius: 22px;
    padding: 11px 16px;
    font-size: 13.6px;
    outline: none;
    color: #1f2937;
}
.ph-ai-foot input:focus { border-color: var(--p-color); background: #fff; }
.ph-ai-send {
    width: 42px; height: 42px; flex: 0 0 42px;
    border: 0; border-radius: 50%;
    background: var(--ph-grad); color: #fff;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer;
}
.ph-ai-send svg { width: 18px; height: 18px; }
.ph-ai-note { text-align: center; font-size: 10.5px; color: #94a3b8; padding: 0 0 8px; }

@media (max-width: 560px) {
    .ph-ai-panel {
        right: 0; left: 0; bottom: 0 !important; top: auto;
        width: 100%; max-width: 100%;
        height: 82vh; max-height: none;
        border-radius: 20px 20px 0 0;
        transform: translateY(100%) scale(1);
    }
    .ph-ai-panel.is-open { transform: translateY(0) scale(1); }
    .ph-ai-tip { display: none; }
}
