/* Google Fonts Inlined: Inter & Poppins (Eliminated blocking @import) */
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../wp-content/uploads/elementor/google-fonts/fonts/inter-UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../wp-content/uploads/elementor/google-fonts/fonts/inter-UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../wp-content/uploads/elementor/google-fonts/fonts/inter-UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../wp-content/uploads/elementor/google-fonts/fonts/inter-UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../wp-content/uploads/elementor/google-fonts/fonts/inter-UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../wp-content/uploads/elementor/google-fonts/fonts/inter-UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../wp-content/uploads/elementor/google-fonts/fonts/inter-UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../wp-content/uploads/elementor/google-fonts/fonts/inter-UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../wp-content/uploads/elementor/google-fonts/fonts/inter-UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../wp-content/uploads/elementor/google-fonts/fonts/inter-UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../wp-content/uploads/elementor/google-fonts/fonts/inter-UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../wp-content/uploads/elementor/google-fonts/fonts/inter-UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../wp-content/uploads/elementor/google-fonts/fonts/inter-UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../wp-content/uploads/elementor/google-fonts/fonts/inter-UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../wp-content/uploads/elementor/google-fonts/fonts/inter-UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../wp-content/uploads/elementor/google-fonts/fonts/inter-UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../wp-content/uploads/elementor/google-fonts/fonts/inter-UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../wp-content/uploads/elementor/google-fonts/fonts/inter-UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../wp-content/uploads/elementor/google-fonts/fonts/inter-UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../wp-content/uploads/elementor/google-fonts/fonts/inter-UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../wp-content/uploads/elementor/google-fonts/fonts/inter-UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* devanagari */
@font-face {
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(../wp-content/uploads/elementor/google-fonts/fonts/poppins-pxiGyp8kv8JHgFVrJJLucXtAKPY.woff2) format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF4, U+1CF7-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B0A;
}
/* latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(../wp-content/uploads/elementor/google-fonts/fonts/poppins-pxiGyp8kv8JHgFVrJJLufntAKPY.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(../wp-content/uploads/elementor/google-fonts/fonts/poppins-pxiGyp8kv8JHgFVrJJLucHtA.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(../wp-content/uploads/elementor/google-fonts/fonts/poppins-pxiByp8kv8JHgFVrLDz8Z11lFc-K.woff2) format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF4, U+1CF7-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B0A;
}
/* latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(../wp-content/uploads/elementor/google-fonts/fonts/poppins-pxiByp8kv8JHgFVrLDz8Z1JlFc-K.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(../wp-content/uploads/elementor/google-fonts/fonts/poppins-pxiByp8kv8JHgFVrLDz8Z1xlFQ.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../wp-content/uploads/elementor/google-fonts/fonts/poppins-pxiEyp8kv8JHgFVrJJbecmNE.woff2) format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF4, U+1CF7-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B0A;
}
/* latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../wp-content/uploads/elementor/google-fonts/fonts/poppins-pxiEyp8kv8JHgFVrJJnecmNE.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../wp-content/uploads/elementor/google-fonts/fonts/poppins-pxiEyp8kv8JHgFVrJJfecg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../wp-content/uploads/elementor/google-fonts/fonts/poppins-pxiByp8kv8JHgFVrLGT9Z11lFc-K.woff2) format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF4, U+1CF7-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B0A;
}
/* latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../wp-content/uploads/elementor/google-fonts/fonts/poppins-pxiByp8kv8JHgFVrLGT9Z1JlFc-K.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../wp-content/uploads/elementor/google-fonts/fonts/poppins-pxiByp8kv8JHgFVrLGT9Z1xlFQ.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../wp-content/uploads/elementor/google-fonts/fonts/poppins-pxiByp8kv8JHgFVrLEj6Z11lFc-K.woff2) format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF4, U+1CF7-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B0A;
}
/* latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../wp-content/uploads/elementor/google-fonts/fonts/poppins-pxiByp8kv8JHgFVrLEj6Z1JlFc-K.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../wp-content/uploads/elementor/google-fonts/fonts/poppins-pxiByp8kv8JHgFVrLEj6Z1xlFQ.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../wp-content/uploads/elementor/google-fonts/fonts/poppins-pxiByp8kv8JHgFVrLCz7Z11lFc-K.woff2) format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF4, U+1CF7-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B0A;
}
/* latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../wp-content/uploads/elementor/google-fonts/fonts/poppins-pxiByp8kv8JHgFVrLCz7Z1JlFc-K.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../wp-content/uploads/elementor/google-fonts/fonts/poppins-pxiByp8kv8JHgFVrLCz7Z1xlFQ.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ==========================================================================
   GOVERNMENT THIRUVANNAMALAI MEDICAL COLLEGE AND HOSPITAL (GTVMC)
   Design System & Master Stylesheet
   Color Palette: Deep Maroon (#800000) & Warm Sandalwood (#FAF3E8)
   Typography: Official Government Sans-Serif System Font
   ========================================================================== */

:root {
  /* Brand Maroon Colors */
  --primary-maroon: #800000;
  --maroon-primary: #800000;
  --maroon-dark: #5C0000;
  --maroon-deepest: #3E0000;
  --maroon-heading: #4A1212;
  --maroon-light: #A52A2A;
  --maroon-soft: rgba(128, 0, 0, 0.08);

  /* Sandalwood & Warm Backgrounds */
  --bg-page: #FAF3E8;
  --bg-card: #FFFDF8;
  --bg-alt: #F8F2E4;
  --bg-subtle: #F3E9D7;
  --border-sandalwood: #E5D5BD;
  --border-focus: #C59B27;

  /* Traditional Gold & Accent Colors */
  --gold-primary: #C59B27;
  --gold-light: #DFBA4E;
  --gold-dark: #A27B19;
  --gold-soft: rgba(197, 155, 39, 0.15);

  /* Typography Colors */
  --text-main: #2D1A16;
  --text-secondary: #4A2820;
  --text-muted: #6B4035;
  --text-light: #FAF3E8;
  --text-white: #FFFDF8;

  /* Status & Functional */
  --color-success: #2E7D32;
  --color-info: #0277BD;
  --color-warning: #EF6C00;
  --color-danger: #C62828;

  /* Shadows & Radius */
  --shadow-sm: 0 2px 6px rgba(62, 0, 0, 0.06);
  --shadow-md: 0 4px 14px rgba(62, 0, 0, 0.09);
  --shadow-lg: 0 10px 28px rgba(62, 0, 0, 0.13);
  --shadow-gold: 0 4px 16px rgba(197, 155, 39, 0.28);
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-full: 9999px;

  /* Layout */
  --container-max: 1140px;
  --transition-normal: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --font-heading: 'Poppins', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* Base Reset & Box Sizing */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16.5px;
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-sans);
  background-color: var(--bg-page);
  color: var(--text-main);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

a {
  color: var(--primary-maroon);
  text-decoration: none;
  transition: var(--transition-normal);
}

a:hover {
  color: var(--maroon-light);
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

ul, ol {
  list-style-position: inside;
}

/* Typography Hierarchy - High Contrast & Distinct Heading Font */
h1, h2, h3, h4, h5, h6,
.section-title,
.inner-page-title,
.page-card-title,
.card-title,
.info-card-body h3,
.ticker-label,
.top-nav-link,
.content-section-title {
  font-family: var(--font-heading) !important;
  color: var(--maroon-heading);
  font-weight: 700;
  line-height: 1.35;
}

p, li, td, span, .content-prose-block p, .content-prose-block li, .info-card-body p {
  font-family: var(--font-sans);
  color: #2D1A16;
  font-weight: 400;
  line-height: 1.65;
}

h1 { font-size: 2rem; margin-bottom: 0.75rem; }
h2 { font-size: 1.6rem; margin-bottom: 0.65rem; }
h3 { font-size: 1.3rem; margin-bottom: 0.5rem; }
h4 { font-size: 1.15rem; margin-bottom: 0.5rem; }
p { margin-bottom: 1rem; color: var(--text-secondary); }

.site-container {
  width: 100%;
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 20px;
}

/* ==========================================================================
   TOP EMERGENCY BAR
   ========================================================================== */
.top-bar {
  background-color: var(--maroon-dark);
  color: var(--text-light);
  font-size: 0.85rem;
  border-bottom: 1px solid rgba(197, 155, 39, 0.35);
  position: relative;
  z-index: 1002;
}

.top-bar-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 7px 0;
  flex-wrap: wrap;
  gap: 10px;
}

.top-contacts {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}

.top-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #FFFDF8;
  text-decoration: none;
  transition: var(--transition-normal);
}

.top-item:hover {
  color: var(--gold-light);
}

.top-item svg {
  width: 14px;
  height: 14px;
  fill: var(--gold-primary);
  flex-shrink: 0;
}

.top-links {
  display: flex;
  align-items: center;
  gap: 14px;
}

.top-nav-link {
  color: #FFFDF8;
  font-weight: 500;
}

.top-nav-link:hover {
  color: var(--gold-light);
  text-decoration: underline;
}

.lang-selector {
  display: inline-flex;
  background: rgba(0, 0, 0, 0.25);
  border-radius: var(--radius-sm);
  padding: 2px;
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.lang-btn {
  background: transparent;
  border: none;
  color: #FFFDF8;
  font-size: 0.78rem;
  padding: 2px 8px;
  border-radius: 4px;
  cursor: pointer;
  transition: var(--transition-normal);
}

.lang-btn.active, .lang-btn:hover {
  background-color: var(--gold-primary);
  color: var(--maroon-deepest);
  font-weight: 700;
}

/* ==========================================================================
   OFFICIAL HEADER (Pure White with Centered Logo Image)
   ========================================================================== */
.site-header {
  background-color: #ffffff;
  border-bottom: 1px solid var(--border-sandalwood);
  position: relative;
  z-index: 1001;
}

.header-main-white {
  background: #ffffff;
  padding: 12px 16px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.header-inner-centered {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

.header-logo-link {
  display: inline-block;
  text-align: center;
  max-width: 740px;
  width: 100%;
}

.header-logo-banner {
  max-width: 720px;
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
  object-fit: contain;
}

/* ==========================================================================
   PERSISTENT STICKY NAVIGATION BAR
   ========================================================================== */
.site-nav-container {
  background: #800000 !important;
  background-color: #800000 !important;
  border-bottom: 3px solid var(--gold-primary, #C59B27) !important;
  position: sticky;
  top: 0;
  z-index: 1000;
  box-shadow: none !important;
  width: 100%;
}

.nav-flex-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 50px;
}

/* Mobile Bar Strip (shown on <=1080px) */
.mobile-nav-bar-strip {
  display: none;
  width: 100%;
  align-items: center;
  justify-content: flex-start;
  padding: 4px 12px;
}

.mobile-nav-toggle-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.18) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.6) !important;
  color: #FFFFFF !important;
  font-size: 0.88rem;
  font-weight: 700 !important;
  padding: 5px 14px;
  height: 32px;
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: var(--transition-normal);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2) !important;
}

.mobile-nav-toggle-btn span {
  color: #FFFFFF !important;
  font-weight: 700 !important;
  letter-spacing: 0.3px;
}

.mobile-nav-toggle-btn svg {
  width: 18px;
  height: 18px;
  fill: #FFFFFF !important;
  color: #FFFFFF !important;
}

.mobile-nav-toggle-btn:hover,
.mobile-nav-toggle-btn:focus,
.mobile-nav-toggle-btn:active {
  background: rgba(255, 255, 255, 0.28) !important;
  border-color: #FFFFFF !important;
  color: #FFFFFF !important;
}

.mobile-nav-toggle-btn:hover span,
.mobile-nav-toggle-btn:focus span,
.mobile-nav-toggle-btn:active span,
.mobile-nav-toggle-btn:hover svg,
.mobile-nav-toggle-btn:focus svg,
.mobile-nav-toggle-btn:active svg {
  color: #FFFFFF !important;
  fill: #FFFFFF !important;
}

.mobile-opd-quick-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--gold-primary);
  color: var(--maroon-deepest);
  font-weight: 700;
  font-size: 0.85rem;
  padding: 6px 14px;
  border-radius: var(--radius-full);
  text-decoration: none;
  box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}

.mobile-opd-quick-pill:hover {
  background: var(--gold-light);
}

/* Main Desktop Navigation Menu */
.main-menu {
  width: 100%;
}

.site-nav-list {
  display: flex;
  list-style: none;
  align-items: center;
  justify-content: space-between;
  margin: 0;
  padding: 0;
}

.nav-item {
  position: relative;
}

.nav-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #FFFDF8;
  font-size: 0.86rem;
  font-weight: 600;
  padding: 14px 10px;
  white-space: nowrap;
  letter-spacing: 0.2px;
  transition: var(--transition-normal);
}

.nav-link:hover, .nav-item:hover > .nav-link, .nav-link.active {
  color: var(--gold-light);
  background-color: rgba(255, 255, 255, 0.08);
}

.nav-dropdown-icon {
  width: 9px;
  height: 9px;
  fill: currentColor;
  opacity: 0.8;
  transition: transform 0.2s;
}

.nav-item:hover .nav-dropdown-icon {
  transform: rotate(180deg);
}

/* Dropdown Sub-menus */
.nav-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 260px;
  background: var(--bg-card);
  border: 1px solid var(--border-sandalwood);
  border-top: 3px solid var(--gold-primary);
  border-radius: 0 0 var(--radius-md) var(--radius-md);
  box-shadow: var(--shadow-lg);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: all 0.2s ease-in-out;
  z-index: 1100;
  list-style: none;
  padding: 8px 0;
  max-height: 480px;
  overflow-y: auto;
}

.nav-item:hover > .nav-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.nav-dropdown li {
  list-style: none;
}

.nav-dropdown a {
  display: block;
  padding: 9px 18px;
  color: var(--text-main);
  font-size: 0.87rem;
  font-weight: 500;
  border-bottom: 1px solid #F3E9D7;
  transition: var(--transition-normal);
}

.nav-dropdown a:hover {
  background-color: var(--bg-subtle);
  color: var(--primary-maroon);
  padding-left: 22px;
}

/* OPD Badge Nav Highlight - Gold Box with Red Live Dot */
.nav-badge-opd {
  background: linear-gradient(135deg, #DFBA4E 0%, #C59B27 100%) !important;
  color: #380808 !important;
  border: 1.5px solid #FFE699 !important;
  border-radius: 6px !important;
  padding: 7px 13px !important;
  margin: 5px 2px !important;
  font-weight: 700 !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.3px !important;
  box-shadow: 0 2px 8px rgba(197, 155, 39, 0.45) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  transition: all 0.25s ease !important;
}

.nav-badge-opd:hover {
  background: linear-gradient(135deg, #F3D279 0%, #DFBA4E 100%) !important;
  color: #1A0404 !important;
  box-shadow: 0 4px 14px rgba(197, 155, 39, 0.65) !important;
  transform: translateY(-1px) !important;
}

.nav-badge-opd span {
  color: inherit !important;
}

.pulse-dot {
  width: 9px !important;
  height: 9px !important;
  background-color: #E53935 !important;
  border: 1px solid #FFFFFF !important;
  border-radius: 50% !important;
  display: inline-block !important;
  flex-shrink: 0 !important;
  box-shadow: 0 0 0 0 rgba(229, 57, 53, 0.8) !important;
  animation: pulseBadge 1.4s infinite !important;
}

@keyframes pulseBadge {
  0% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(229, 57, 53, 0.8);
  }
  70% {
    transform: scale(1.15);
    box-shadow: 0 0 0 7px rgba(229, 57, 53, 0);
  }
  100% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(229, 57, 53, 0);
  }
}

/* Mobile drawer OPD badge styling */
.drawer-nav-link.nav-badge-opd {
  background: linear-gradient(135deg, #DFBA4E 0%, #C59B27 100%) !important;
  background-color: #C59B27 !important;
  color: #1A0505 !important;
  border: 1.5px solid #FFE699 !important;
  border-radius: 6px !important;
  padding: 11px 16px !important;
  margin: 8px 14px !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  box-shadow: 0 2px 8px rgba(197, 155, 39, 0.35) !important;
}
.drawer-nav-link.nav-badge-opd span {
  color: #1A0505 !important;
  font-weight: 700 !important;
}

/* ==========================================================================
   OFF-CANVAS MOBILE DRAWER
   ========================================================================== */
.mobile-drawer-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.65);
  backdrop-filter: blur(3px);
  z-index: 1998;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}

.mobile-drawer-overlay.active {
  opacity: 1;
  visibility: visible;
}

.mobile-drawer {
  position: fixed;
  top: 0;
  left: -320px;
  width: 310px;
  height: 100%;
  background: var(--bg-card);
  z-index: 1999;
  box-shadow: 4px 0 24px rgba(0, 0, 0, 0.3);
  overflow-y: auto;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex;
  flex-direction: column;
}

.mobile-drawer.active {
  transform: translateX(320px);
}

.drawer-header {
  background: var(--maroon-dark);
  color: #FFFDF8;
  padding: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 3px solid var(--gold-primary);
}

.drawer-title {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--gold-light);
  margin: 0;
}

.drawer-close-btn {
  background: transparent;
  border: none;
  color: #FFFDF8;
  font-size: 1.4rem;
  cursor: pointer;
  padding: 4px 8px;
}

.drawer-body {
  padding: 12px 0;
  flex: 1;
}

.drawer-nav-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.drawer-nav-item {
  border-bottom: 1px solid var(--border-sandalwood);
}

.drawer-nav-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 13px 20px;
  color: var(--text-main);
  font-weight: 600;
  font-size: 0.92rem;
}

.drawer-nav-link:hover, .drawer-nav-link.active {
  background-color: var(--bg-subtle);
  color: var(--primary-maroon);
}

.drawer-accordion-btn {
  background: none;
  border: none;
  width: 100%;
  text-align: left;
  cursor: pointer;
}

.drawer-accordion-btn svg {
  width: 12px;
  height: 12px;
  transition: transform 0.25s;
}

.drawer-accordion-btn.expanded svg {
  transform: rotate(180deg);
}

.drawer-submenu {
  display: none;
  background-color: var(--bg-alt);
  list-style: none;
  padding: 4px 0 8px;
}

.drawer-submenu.show {
  display: block;
}

.drawer-submenu a {
  display: block;
  padding: 9px 24px 9px 36px;
  font-size: 0.88rem;
  color: var(--text-secondary);
}

.drawer-submenu a:hover {
  color: var(--primary-maroon);
  font-weight: 600;
}

.drawer-footer {
  padding: 16px;
  background: var(--bg-subtle);
  border-top: 1px solid var(--border-sandalwood);
  font-size: 0.82rem;
  color: var(--text-muted);
}

/* ==========================================================================
   HOMEPAGE HERO SLIDER (With Overlays)
   ========================================================================== */
.hero-slider-section {
  position: relative;
  width: 100%;
  height: 540px;
  overflow: hidden;
  background: var(--maroon-deepest);
}

.slider-container {
  width: 100%;
  height: 100%;
  position: relative;
}

.slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.8s ease-in-out;
}

.slide.active {
  opacity: 1;
  visibility: visible;
}

.slide-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
}

.slide-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, rgba(45, 0, 0, 0.88) 0%, rgba(55, 0, 0, 0.72) 55%, rgba(0, 0, 0, 0.35) 100%);
  display: flex;
  align-items: center;
}

.slide-content {
  max-width: 840px;
  color: #FFFDF8;
  padding: 0 20px;
}

.slide-badge {
  display: inline-block;
  background: var(--gold-primary);
  color: var(--maroon-deepest);
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 4px 12px;
  border-radius: var(--radius-sm);
  margin-bottom: 14px;
}

.slide-title {
  font-size: 2.3rem;
  color: #FFFDF8;
  font-weight: 800;
  line-height: 1.25;
  margin-bottom: 14px;
}

.slide-desc {
  font-size: 1.05rem;
  color: #FAF3E8;
  margin-bottom: 24px;
  line-height: 1.6;
}

.slide-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  font-size: 0.92rem;
  padding: 10px 22px;
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: var(--transition-normal);
  border: 2px solid transparent;
}

.btn-primary {
  background: var(--gold-primary);
  color: var(--maroon-deepest);
}

.btn-primary:hover {
  background: var(--gold-light);
  color: var(--maroon-deepest);
  transform: translateY(-2px);
  box-shadow: var(--shadow-gold);
}

.btn-secondary {
  background: rgba(255, 255, 255, 0.15);
  color: #FFFDF8;
  border-color: rgba(255, 255, 255, 0.4);
}

.btn-secondary:hover {
  background: #FFFDF8;
  color: var(--primary-maroon);
}

.btn-maroon {
  background: var(--primary-maroon);
  color: #FFFDF8;
}

.btn-maroon:hover {
  background: var(--maroon-dark);
  color: #FFFDF8;
  transform: translateY(-2px);
}

.slider-nav-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  background: rgba(62, 0, 0, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #FFFDF8;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  cursor: pointer;
  z-index: 10;
  transition: var(--transition-normal);
}

.slider-nav-btn:hover {
  background: var(--gold-primary);
  color: var(--maroon-deepest);
}

.slider-prev { left: 24px; }
.slider-next { right: 24px; }

.slider-dots {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 10px;
  z-index: 10;
}

.slider-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.45);
  cursor: pointer;
  transition: var(--transition-normal);
}

.slider-dot.active {
  background: var(--gold-primary);
  width: 28px;
  border-radius: 6px;
}

/* ==========================================================================
   INNER PAGE HERO SLIDER (Clean Image Slider Across All Subpages)
   ========================================================================== */
.inner-hero-slider-section {
  position: relative;
  width: 100%;
  background: var(--maroon-deepest);
}

.inner-hero-slider {
  position: relative;
  width: 100%;
  height: 270px;
  overflow: hidden;
}

.inner-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.8s ease-in-out;
}

.inner-slide.active {
  opacity: 1;
  visibility: visible;
}

.inner-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
}

.inner-slider-prev,
.inner-slider-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 38px;
  height: 38px;
  background: rgba(62, 0, 0, 0.65);
  color: #FFFDF8;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  z-index: 10;
  transition: var(--transition-normal);
}

.inner-slider-prev { left: 16px; }
.inner-slider-next { right: 16px; }

.inner-slider-prev:hover,
.inner-slider-next:hover {
  background: var(--gold-primary);
  color: var(--maroon-deepest);
}

.inner-slider-dots {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 10;
}

.inner-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.45);
  cursor: pointer;
  transition: var(--transition-normal);
}

.inner-dot.active {
  background: var(--gold-primary);
  width: 24px;
  border-radius: 6px;
}

/* Inner Page Titlebar & Breadcrumbs */
.inner-page-titlebar {
  background: linear-gradient(135deg, var(--maroon-dark) 0%, var(--maroon-deepest) 100%);
  border-bottom: 3px solid var(--gold-primary);
  padding: 18px 0;
  color: #FFFDF8;
}

.titlebar-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.inner-page-title {
  font-size: 1.55rem;
  color: #FFFDF8;
  margin: 0;
  font-weight: 700;
}

.breadcrumb-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  list-style: none;
  font-size: 0.88rem;
  margin: 0;
  padding: 0;
}

.breadcrumb-list li + li::before {
  content: "›";
  color: var(--gold-light);
  margin-right: 8px;
  font-weight: bold;
}

.breadcrumb-list a {
  color: #FAF3E8;
  text-decoration: none;
  transition: var(--transition-normal);
}

.breadcrumb-list a:hover {
  color: var(--gold-light);
  text-decoration: underline;
}

.breadcrumb-list li[aria-current="page"] {
  color: var(--gold-light);
  font-weight: 600;
}

/* ==========================================================================
   TICKER / ANNOUNCEMENTS STRIP
   ========================================================================== */
.news-ticker-bar {
  background: var(--bg-alt);
  border-bottom: 1px solid var(--border-sandalwood);
  padding: 10px 0;
}

.ticker-inner {
  display: flex;
  align-items: center;
  gap: 16px;
}

.ticker-label {
  background: var(--primary-maroon);
  color: #FFFDF8;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  padding: 5px 12px;
  border-radius: var(--radius-sm);
  white-space: nowrap;
}

.ticker-marquee {
  overflow: hidden;
  white-space: nowrap;
  flex: 1;
  font-size: 0.88rem;
  color: var(--text-main);
}

.ticker-marquee span {
  display: inline-block;
  padding-right: 50px;
}

/* ==========================================================================
   QUICK INFO 3-CARD SECTION
   ========================================================================== */
.quick-info-section {
  margin-top: 28px;
  position: relative;
  z-index: 20;
  padding-bottom: 40px;
}

.quick-info-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.info-card {
  background: var(--bg-card);
  border: 1px solid var(--border-sandalwood);
  border-top: 4px solid var(--gold-primary);
  border-radius: var(--radius-md);
  padding: 24px;
  box-shadow: var(--shadow-md);
  transition: var(--transition-normal);
  display: flex;
  gap: 16px;
}

.info-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
  border-top-color: var(--primary-maroon);
}

.info-card-icon {
  width: 52px;
  height: 52px;
  border-radius: var(--radius-md);
  background: var(--maroon-soft);
  color: var(--primary-maroon);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.info-card-icon svg {
  width: 26px;
  height: 26px;
  fill: currentColor;
}

.info-card-body h3 {
  font-size: 1.25rem;
  margin-bottom: 8px;
}

.info-card-body p {
  font-size: 0.95rem;
  margin-bottom: 12px;
  line-height: 1.5;
}

.info-card-link {
  font-size: 0.86rem;
  font-weight: 700;
  color: var(--primary-maroon);
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.info-card-link:hover {
  color: var(--gold-dark);
}

/* ==========================================================================
   CARDIAC CATH LAB PROMINENT SECTION
   ========================================================================== */
.cathlab-section {
  padding: 60px 0;
  background-color: var(--bg-card);
  border-top: 1px solid var(--border-sandalwood);
  border-bottom: 1px solid var(--border-sandalwood);
}

.section-tag {
  display: inline-block;
  background: var(--maroon-soft);
  color: var(--primary-maroon);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: var(--radius-full);
  margin-bottom: 10px;
}

.section-title {
  font-size: 2rem;
  color: var(--maroon-heading);
  margin-bottom: 12px;
}

.section-subtitle {
  font-size: 1.05rem;
  color: var(--text-secondary);
  max-width: 760px;
  margin-bottom: 36px;
}

.cathlab-content-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
}

.cathlab-img-frame {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-lg);
  border: 4px solid var(--border-sandalwood);
}

.cathlab-img {
  width: 100%;
  height: 380px;
  object-fit: cover;
}

.cathlab-feature-pill {
  position: absolute;
  bottom: 20px;
  left: 20px;
  background: rgba(62, 0, 0, 0.9);
  color: #FFFDF8;
  padding: 10px 18px;
  border-radius: var(--radius-md);
  border-left: 4px solid var(--gold-primary);
  font-size: 0.88rem;
  font-weight: 600;
}

.cathlab-details h3 {
  font-size: 1.4rem;
  margin-bottom: 14px;
}

.cathlab-points {
  list-style: none;
  margin-bottom: 24px;
  padding: 0;
}

.cathlab-points li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 12px;
  font-size: 0.95rem;
  color: var(--text-main);
}

.point-icon {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--gold-primary);
  color: var(--maroon-deepest);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 0.75rem;
  font-weight: 800;
}

/* ==========================================================================
   DEAN'S DESK PROFILE SECTION
   ========================================================================== */
.dean-section {
  padding: 60px 0;
  background-color: var(--bg-page);
}

.dean-grid {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 28px;
  align-items: start;
}

.dean-profile-card {
  background: var(--bg-card);
  border: 1px solid var(--border-sandalwood);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-md);
  text-align: center;
  padding-bottom: 20px;
  transition: var(--transition-normal);
}

.dean-profile-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-lg);
}

.dean-photo {
  width: 100%;
  height: 290px;
  object-fit: cover;
  object-position: center top;
}

.dean-name {
  font-size: 1.25rem;
  margin: 16px 16px 4px;
}

.dean-role {
  color: var(--primary-maroon);
  font-weight: 700;
  font-size: 0.95rem;
  margin-bottom: 8px;
}

.dean-qual {
  font-size: 0.85rem;
  color: var(--text-muted);
  padding: 0 16px;
}

.dean-message-box {
  background: var(--bg-card);
  border: 1px solid var(--border-sandalwood);
  border-left: 5px solid var(--primary-maroon);
  border-radius: var(--radius-lg);
  padding: 36px;
  box-shadow: var(--shadow-md);
}

.quote-icon {
  font-size: 3rem;
  color: var(--gold-primary);
  line-height: 1;
  font-family: Georgia, serif;
  margin-bottom: 10px;
}

.dean-message-text {
  font-size: 1.02rem;
  line-height: 1.7;
  color: var(--text-main);
  margin-bottom: 20px;
}

.dean-quote-author {
  font-weight: 700;
  color: var(--maroon-heading);
  font-size: 0.95rem;
}

/* ==========================================================================
   FACILITIES & DEPARTMENTS GRID
   ========================================================================== */
.dept-section {
  padding: 60px 0;
  background-color: var(--bg-card);
}

.dept-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 24px;
}

.dept-card {
  background: var(--bg-page);
  border: 1px solid var(--border-sandalwood);
  border-radius: var(--radius-md);
  padding: 22px;
  transition: var(--transition-normal);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.dept-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
  border-color: var(--gold-primary);
  background: #FFFDF8;
}

.dept-card h4 {
  font-size: 1.1rem;
  margin-bottom: 8px;
}

.dept-card p {
  font-size: 0.88rem;
  color: var(--text-secondary);
  margin-bottom: 16px;
  flex: 1;
}

/* ==========================================================================
   STATS COUNTER BAR
   ========================================================================== */
.stats-section {
  background: linear-gradient(135deg, var(--maroon-dark) 0%, var(--maroon-deepest) 100%);
  color: #FFFDF8;
  padding: 48px 0;
  border-top: 3px solid var(--gold-primary);
  border-bottom: 3px solid var(--gold-primary);
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  text-align: center;
}

.stat-item {
  padding: 10px;
}

.stat-number {
  font-size: 2.6rem;
  font-weight: 800;
  color: var(--gold-light);
  line-height: 1.1;
  margin-bottom: 6px;
}

.stat-label {
  font-size: 0.95rem;
  color: #FAF3E8;
  font-weight: 500;
}

/* ==========================================================================
   TABLES & CONTENT CARD STYLES FOR ALL PAGES
   ========================================================================== */
.page-content-wrapper {
  padding: 36px 0 60px;
  background-color: var(--bg-page);
  min-height: 50vh;
}

.content-card-box {
  background: var(--bg-card);
  border: 1px solid var(--border-sandalwood);
  border-radius: var(--radius-md);
  padding: 28px;
  box-shadow: var(--shadow-md);
  margin-bottom: 24px;
  transition: var(--transition-normal);
}

.content-card-box:hover {
  box-shadow: var(--shadow-lg);
}

/* Tables across all department and academic pages */
.xpro-table, table.content-table, .e-con table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin: 18px 0;
  background: var(--bg-card);
  border: 1px solid var(--border-sandalwood);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}

.xpro-table th, table.content-table th, .e-con table th, .xpro-table-head-column-cell {
  background: var(--primary-maroon) !important;
  color: #FFFDF8 !important;
  font-weight: 600;
  padding: 12px 16px;
  text-align: left;
  font-size: 0.92rem;
  border-bottom: 2px solid var(--gold-primary);
}

.xpro-table td, table.content-table td, .e-con table td, .xpro-table-body-column-cell {
  padding: 12px 16px;
  border-bottom: 1px solid var(--border-sandalwood);
  font-size: 0.92rem;
  color: var(--text-main);
}

.xpro-table tr:nth-child(even), table.content-table tr:nth-child(even), .e-con table tr:nth-child(even) {
  background-color: var(--bg-alt);
}

.xpro-table tr:hover, table.content-table tr:hover, .e-con table tr:hover {
  background-color: #F0E2CD;
}

/* Responsive Table Wrapper */
.table-responsive-wrapper {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 20px;
}

/* Elementor container flex adjustments */
.e-con {
  display: flex;
  position: relative;
  width: 100%;
  flex-wrap: wrap;
  gap: 20px;
}

.e-con-boxed {
  max-width: 100%;
}

.e-con-inner {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.elementor-widget-container {
  width: 100%;
}

.elementor-heading-title {
  color: var(--maroon-heading);
  margin-top: 18px;
  margin-bottom: 12px;
}

/* Staff Photos inside Content */
.staff-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 20px;
  margin: 24px 0;
}

.staff-card {
  background: var(--bg-card);
  border: 1px solid var(--border-sandalwood);
  border-radius: var(--radius-md);
  padding: 16px;
  text-align: center;
  box-shadow: var(--shadow-sm);
  transition: var(--transition-normal);
}

.staff-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
  border-color: var(--gold-primary);
}

.staff-img {
  width: 130px;
  height: 130px;
  border-radius: 50%;
  object-fit: cover;
  margin: 0 auto 12px;
  border: 3px solid var(--gold-primary);
}

.staff-name {
  font-size: 1rem;
  font-weight: 700;
  color: var(--maroon-heading);
  margin-bottom: 4px;
}

.staff-role {
  font-size: 0.85rem;
  color: var(--primary-maroon);
  font-weight: 600;
}

/* ==========================================================================
   OFFICIAL DAILY DUTY ROSTERS (FULL WIDTH & NATURAL HEIGHT, VERTICALLY STACKED)
   ========================================================================== */
.duty-roster-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: 36px !important;
  width: 100% !important;
  margin-bottom: 36px !important;
}

.roster-card {
  width: 100% !important;
  box-sizing: border-box !important;
  background: var(--bg-card) !important;
  border: 1px solid var(--border-sandalwood) !important;
  border-top: 4px solid var(--gold-primary) !important;
  border-radius: var(--radius-md) !important;
  padding: 24px !important;
  box-shadow: var(--shadow-md) !important;
}

.roster-card.today {
  border-top-color: var(--primary-maroon) !important;
}

.roster-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 18px !important;
}

.roster-badge {
  background: var(--maroon-soft) !important;
  color: var(--primary-maroon) !important;
  font-weight: 700 !important;
  font-size: 0.82rem !important;
  padding: 5px 12px !important;
  border-radius: var(--radius-full) !important;
}

.roster-card.today .roster-badge {
  background: var(--primary-maroon) !important;
  color: #FFFDF8 !important;
}

.roster-viewer-box {
  width: 100% !important;
  min-height: auto !important;
  border: 1px solid var(--border-sandalwood) !important;
  border-radius: var(--radius-sm) !important;
  overflow: hidden !important;
  background: #FFFFFF !important;
  margin-bottom: 18px !important;
}

.roster-viewer-box img {
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  display: block !important;
  object-fit: initial !important;
}

.roster-viewer-box canvas {
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  display: block !important;
}

.roster-viewer-box object,
.roster-viewer-box embed,
.roster-viewer-box iframe {
  width: 100% !important;
  height: auto !important;
  min-height: unset !important;
  border: none !important;
  display: block !important;
  background: #FFFFFF !important;
}

.roster-actions {
  display: flex !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
}

@media (max-width: 768px) {
  .roster-card {
    padding: 16px !important;
  }
  .roster-viewer-box object,
  .roster-viewer-box embed,
  .roster-viewer-box iframe {
    min-height: unset !important;
    height: auto !important;
  }
}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.site-footer {
  background: var(--maroon-deepest);
  color: #FAF3E8;
  border-top: 4px solid var(--gold-primary);
  font-size: 0.92rem;
}

.footer-top {
  padding: 56px 0 36px;
}

.footer-top-grid {
  display: grid;
  grid-template-columns: 1.8fr 1fr 1fr 1.4fr;
  gap: 36px;
}

.footer-col h4 {
  color: var(--gold-light);
  font-size: 1.15rem;
  margin-bottom: 18px;
  position: relative;
  padding-bottom: 8px;
}

.footer-col h4::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 36px;
  height: 2px;
  background: var(--gold-primary);
}

.footer-col p {
  color: #E5D5BD;
  font-size: 0.88rem;
  line-height: 1.6;
}

.footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-links li {
  margin-bottom: 9px;
}

.footer-links a {
  color: #E5D5BD;
  font-size: 0.88rem;
  transition: var(--transition-normal);
}

.footer-links a:hover {
  color: var(--gold-light);
  padding-left: 5px;
}

.footer-contact-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-contact-list li {
  display: flex;
  gap: 10px;
  margin-bottom: 12px;
  font-size: 0.88rem;
  color: #E5D5BD;
}

.footer-contact-list svg {
  width: 16px;
  height: 16px;
  fill: var(--gold-primary);
  flex-shrink: 0;
  margin-top: 3px;
}

.footer-bottom {
  background: #280000;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding: 18px 0;
  font-size: 0.82rem;
  color: #C5B099;
}

.footer-bottom-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

/* Scroll to Top Floating Button */
.scroll-top-btn {
  position: fixed;
  bottom: 24px;
  right: 24px;
  width: 44px;
  height: 44px;
  background: var(--primary-maroon);
  color: var(--gold-light);
  border: 2px solid var(--gold-primary);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  cursor: pointer;
  box-shadow: var(--shadow-lg);
  opacity: 0;
  visibility: hidden;
  transition: var(--transition-normal);
  z-index: 990;
}

.scroll-top-btn.visible {
  opacity: 1;
  visibility: visible;
}

@media (hover: hover) and (pointer: fine) {
  .scroll-top-btn:hover {
    background: var(--gold-primary);
    color: var(--maroon-deepest);
    transform: translateY(-3px);
  }
}
.scroll-top-btn:focus,
.scroll-top-btn:active {
  background: var(--primary-maroon) !important;
  color: var(--gold-light) !important;
  outline: none !important;
}

/* ==========================================================================
   ANIMATIONS
   ========================================================================== */
@keyframes fadeIn { from { opacity: 0.95; } to { opacity: 1; } }

@keyframes slideUp { from { opacity: 0.95; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

@keyframes pulseBadge {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.1); opacity: 0.85; }
}

.animate-fade-in {
  animation: fadeIn 0.6s ease-out both;
}

.animate-slide-up {
  animation: slideUp 0.6s ease-out both;
}

/* ==========================================================================
   RESPONSIVE MEDIA QUERIES
   ========================================================================== */
@media (max-width: 1080px) {
  .main-menu,
  .site-nav-list {
    display: none !important;
  }
  .nav-flex-wrapper {
    min-height: 40px !important;
    padding: 0 !important;
  }
  .mobile-nav-bar-strip {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    padding: 4px 12px !important;
  }
  .slider-nav-btn,
  .slider-prev,
  .slider-next,
  .inner-slider-prev,
  .inner-slider-next {
    display: none !important;
  }
  .cathlab-content-grid {
    grid-template-columns: 1fr;
  }
  .dean-grid {
    grid-template-columns: 1fr;
  }
  .stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .footer-top-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1081px) {
  .mobile-nav-bar-strip {
    display: none !important;
  }
  .main-menu {
    display: flex !important;
    width: 100% !important;
    justify-content: center !important;
  }
  .site-nav-list {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    margin: 0 auto !important;
  }
  .site-nav-list > .nav-item {
    display: inline-block !important;
    flex-shrink: 0 !important;
  }
}

@media (max-width: 860px) {
  .top-bar {
    padding: 2px 0 !important;
  }
  .top-bar-inner {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 3px 8px !important;
  }
  .top-contacts {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 8px !important;
    overflow: hidden !important;
  }
  .top-phone-label,
  .top-desktop-only {
    display: none !important;
  }
  .top-item {
    font-size: 0.72rem !important;
    white-space: nowrap !important;
    gap: 3px !important;
  }
  .top-item svg {
    width: 12px !important;
    height: 12px !important;
  }
  .top-links {
    gap: 6px !important;
    flex-shrink: 0 !important;
  }
  .lang-selector {
    padding: 1px !important;
    flex-shrink: 0 !important;
    display: flex !important;
  }
  .lang-btn {
    font-size: 0.70rem !important;
    padding: 1px 5px !important;
  }
  .quick-info-grid {
    grid-template-columns: 1fr;
  }
  .quick-info-section {
    margin-top: 20px;
  }
  .duty-roster-grid {
    grid-template-columns: 1fr;
  }
  .hero-slider-section {
    height: 340px !important;
  }
  .slider-nav-btn,
  .inner-slider-prev,
  .inner-slider-next {
    display: none !important;
  }
  .slide-title {
    font-size: 1.35rem !important;
  }
  .slide-desc {
    font-size: 0.82rem !important;
  }
  .inner-hero-slider {
    height: 190px;
  }
  .footer-top-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 580px) {
  .hero-slider-section {
    height: 290px !important;
  }
  .slide-content {
    padding: 0 14px !important;
    max-width: 100% !important;
  }
  .slide-badge {
    font-size: 0.65rem !important;
    padding: 2px 7px !important;
    margin-bottom: 5px !important;
    letter-spacing: 0.5px !important;
  }
  .slide-title {
    font-size: 1.10rem !important;
    line-height: 1.25 !important;
    margin-bottom: 5px !important;
    font-weight: 700 !important;
  }
  .slide-desc {
    font-size: 0.76rem !important;
    line-height: 1.32 !important;
    margin-bottom: 10px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }
  .slide-actions {
    gap: 8px !important;
  }
  .slide-actions .btn {
    padding: 5px 12px !important;
    font-size: 0.74rem !important;
    border-radius: 4px !important;
  }
  .slider-dots {
    bottom: 6px !important;
    gap: 6px !important;
  }
  .slider-dot {
    width: 6px !important;
    height: 6px !important;
  }
  .slider-nav-btn,
  .inner-slider-prev,
  .inner-slider-next {
    display: none !important;
  }
  .stats-grid {
    grid-template-columns: 1fr;
  }
  .inner-hero-slider {
    height: 150px;
  }
  .inner-page-title {
    font-size: 1.25rem;
  }
}
@media (max-width: 580px) {
  .hero-slider-section {
    height: 380px;
  }
  .slide-title {
    font-size: 1.45rem;
  }
  .slide-desc {
    font-size: 0.9rem;
  }
  .stats-grid {
    grid-template-columns: 1fr;
  }
  .inner-hero-slider {
    height: 160px;
  }
  .inner-page-title {
    font-size: 1.3rem;
  }
}


/* ==========================================================================
   ENHANCED POLISHED IMAGE & MOBILE PRESENTATION (ELEMENTOR BLOAT STRIPPED)
   ========================================================================== */

/* Page Card Header (Matching Event Screenshot) */
.page-card-header {
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border-sandalwood);
}

.page-card-title {
  font-size: 1.85rem;
  font-weight: 700;
  color: var(--maroon-heading);
  margin-bottom: 4px;
  line-height: 1.25;
}

.page-card-subtitle {
  display: block;
  font-size: 1.05rem;
  color: var(--text-muted);
  font-weight: 500;
  margin-bottom: 12px;
}

.page-card-divider {
  width: 50px;
  height: 3px;
  background: var(--gold-primary);
  border-radius: 2px;
}

/* Clean Section Headings */
.content-section-title {
  color: var(--maroon-heading);
  font-size: 1.4rem;
  font-weight: 700;
  margin: 32px 0 16px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--border-sandalwood);
  position: relative;
}

.content-section-title::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 36px;
  height: 2px;
  background: var(--gold-primary);
}

/* Prose Blocks */
.content-prose-block {
  margin-bottom: 20px;
  font-size: 0.98rem;
  line-height: 1.7;
  color: var(--text-main);
}

.content-prose-block p {
  margin-bottom: 14px;
}

.content-prose-block ul, .content-prose-block ol {
  margin: 12px 0 18px 24px;
  list-style-position: outside;
}

.content-prose-block li {
  margin-bottom: 8px;
}

/* Responsive Photo Gallery Grid */
.photo-gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 20px;
  margin: 22px 0 32px;
}

.gallery-photo-card {
  background: #ffffff;
  border: 1px solid var(--border-sandalwood);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: var(--transition-normal);
  display: flex;
  flex-direction: column;
}

.gallery-photo-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
  border-color: var(--gold-primary);
}

.gallery-photo-card img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}

.gallery-photo-card:hover img {
  transform: scale(1.03);
}

/* Single Standalone Photo Box */
.single-photo-box {
  margin: 24px auto;
  text-align: center;
  max-width: 650px;
}

.single-photo-box img {
  max-width: 100%;
  max-height: 460px;
  height: auto;
  object-fit: contain;
  border-radius: var(--radius-md);
  border: 1px solid var(--border-sandalwood);
  box-shadow: var(--shadow-sm);
  display: block;
  margin: 0 auto;
}

/* History Media Layout - Side-by-Side Image and Milestones */
.history-media-layout {
  display: flex;
  align-items: center;
  gap: 32px;
  margin: 24px 0 32px;
  padding: 24px;
  background: var(--bg-alt);
  border: 1px solid var(--border-sandalwood);
  border-left: 5px solid var(--primary-maroon);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
}

.history-media-layout .single-photo-box {
  flex: 1 1 48%;
  margin: 0;
  max-width: 48%;
}

.history-media-layout .single-photo-box img {
  width: 100%;
  max-height: 380px;
  height: auto;
  object-fit: cover;
  border-radius: var(--radius-md);
  border: 1px solid var(--border-sandalwood);
  box-shadow: var(--shadow-sm);
}

.history-media-content {
  flex: 1 1 52%;
}

.history-points-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.history-points-list li {
  position: relative;
  padding-left: 28px;
  font-size: 1.02rem;
  line-height: 1.65;
  color: var(--text-main);
  margin-bottom: 0;
}

.history-points-list li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 9px;
  width: 10px;
  height: 10px;
  background-color: var(--gold-primary);
  border: 2px solid var(--primary-maroon);
  border-radius: 50%;
}

@media (max-width: 820px) {
  .history-media-layout {
    flex-direction: column;
    padding: 18px;
    gap: 20px;
  }

  .history-media-layout .single-photo-box {
    flex: 1 1 100%;
    max-width: 100%;
    width: 100%;
  }

  .history-media-content {
    flex: 1 1 100%;
    width: 100%;
  }
}

/* Square image outline instead of circle for all staff and table images */
.table-staff-avatar,
.staff-img,
.dean-photo,
.dean-feature-photo,
.xpro-team-image img,
.eael-team-image img,
.e-con table td img,
.xpro-table td img,
table.content-table td img {
  border-radius: 4px !important;
  border: 2px solid var(--gold-primary) !important;
  object-fit: cover !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12) !important;
}

.table-staff-avatar {
  width: 72px;
  height: 72px;
  display: block;
  margin: 0 auto;
}

/* Responsive Feature Columns */
.content-features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
  margin: 18px 0 26px;
}

.feature-col {
  background: var(--bg-alt);
  border: 1px solid var(--border-sandalwood);
  border-radius: var(--radius-md);
  padding: 18px 22px;
}

.feature-col ul {
  margin: 0;
  padding-left: 18px;
}

.feature-col li {
  margin-bottom: 7px;
}

/* Mobile Tweaks */
@media (max-width: 768px) {
  .page-card-title {
    font-size: 1.5rem;
  }
  .page-card-subtitle {
    font-size: 0.95rem;
  }
  .content-card-box {
    padding: 18px 14px;
  }
  .photo-gallery-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .gallery-photo-card img {
    height: 200px;
  }
  .content-section-title {
    font-size: 1.25rem;
    margin: 24px 0 12px;
  }
  .content-features-grid {
    grid-template-columns: 1fr;
  }
}


/* Dean Feature Profile Card in dean-message/index.html */
.dean-feature-banner {
  display: flex;
  align-items: center;
  gap: 28px;
  background: #FFFDF8;
  border: 1px solid var(--border-sandalwood);
  border-left: 6px solid var(--primary-maroon);
  border-radius: 6px;
  padding: 24px;
  margin-bottom: 30px;
  box-shadow: var(--shadow-md);
}

.dean-feature-photo-box {
  flex-shrink: 0;
  width: 150px;
  height: 180px;
  overflow: hidden;
  border-radius: 4px;
  border: 2px solid var(--gold-primary);
  box-shadow: var(--shadow-sm);
}

.dean-feature-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.dean-feature-info {
  flex: 1;
}

.dean-feature-badge {
  display: inline-block;
  background: var(--gold-primary);
  color: var(--maroon-deepest);
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  padding: 3px 10px;
  border-radius: 4px;
  margin-bottom: 8px;
}

.dean-feature-name {
  font-family: var(--font-heading) !important;
  font-size: 1.5rem;
  color: var(--maroon-heading);
  font-weight: 800;
  margin-bottom: 4px;
}

.dean-feature-qual {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--primary-maroon);
  margin-bottom: 6px;
}

.dean-feature-title {
  font-size: 0.95rem;
  color: #2D1A16;
  font-weight: 500;
  margin-bottom: 10px;
}

.dean-feature-contact {
  font-size: 0.88rem;
  color: var(--text-secondary);
}

.admin-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
  margin-top: 30px;
}

.admin-card {
  background: #FFFDF8;
  border: 1px solid var(--border-sandalwood);
  border-top: 4px solid var(--gold-primary);
  border-radius: 6px;
  padding: 20px;
  text-align: center;
  box-shadow: var(--shadow-sm);
  transition: var(--transition-normal);
}

.admin-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
  border-top-color: var(--primary-maroon);
}

.admin-card-img {
  width: 110px;
  height: 120px;
  object-fit: cover;
  border-radius: 4px !important;
  border: 2px solid var(--gold-primary);
  margin: 0 auto 12px;
  display: block;
}

.admin-card-name {
  font-family: var(--font-heading);
  font-size: 1.05rem;
  color: var(--maroon-heading);
  font-weight: 700;
  margin-bottom: 4px;
}

.admin-card-role {
  font-size: 0.86rem;
  color: var(--primary-maroon);
  font-weight: 600;
}

@media (max-width: 680px) {
  .dean-feature-banner {
    flex-direction: column;
    text-align: center;
  }
  .dean-feature-photo-box {
    margin: 0 auto;
  }
}


/* Footer & Top Bar High Contrast Overrides */
.site-footer,
.site-footer p,
.site-footer span,
.site-footer li,
.site-footer a,
.footer-contact-list li,
.footer-contact-list span,
.footer-contact-list a {
  color: #E5D5BD !important;
}

.site-footer a:hover,
.footer-contact-list a:hover {
  color: var(--gold-light) !important;
}

.site-footer h4 {
  color: var(--gold-light) !important;
}

.footer-contact-list svg {
  fill: var(--gold-primary) !important;
}

.top-bar,
.top-bar span,
.top-bar a,
.top-item,
.top-nav-link {
  color: #FFFDF8 !important;
}

.top-item svg {
  fill: var(--gold-primary) !important;
}

.main-nav a,
.nav-link {
  color: #FFFDF8 !important;
}

.main-nav a:hover,
.nav-link:hover {
  color: var(--gold-light) !important;
}

.nav-dropdown a {
  color: #2D1A16 !important;
}

.nav-dropdown a:hover {
  color: var(--primary-maroon) !important;
}


/* Main Navbar Item Links - Crisp Pure White & Gold Hover */
.site-nav-list .nav-link,
.site-nav-list .nav-link span,
.site-nav-list a,
.site-nav-list a span {
  color: #FFFDF8 !important;
  font-family: var(--font-heading) !important;
  font-weight: 600 !important;
  font-size: 0.90rem !important;
  text-shadow: none !important;
}

.site-nav-list .nav-dropdown-icon,
.site-nav-list svg {
  fill: #FFFDF8 !important;
}

.site-nav-list .nav-link:hover,
.site-nav-list .nav-link:hover span,
.site-nav-list a:hover,
.site-nav-list a:hover span {
  color: var(--gold-light) !important;
}

.site-nav-list .nav-link:hover .nav-dropdown-icon,
.site-nav-list .nav-link:hover svg {
  fill: var(--gold-light) !important;
}

/* Nav Dropdown Items (Inside Dropdown Menus) */
.nav-dropdown a {
  color: #2D1A16 !important;
  font-family: var(--font-sans) !important;
  font-weight: 500 !important;
  font-size: 0.90rem !important;
  text-shadow: none !important;
}

.nav-dropdown a:hover,
/* .nav-dropdown a:hover span */ {
  color: var(--primary-maroon) !important;
  background-color: var(--bg-alt) !important;
}


/* ==========================================================================
   PERFECTLY CENTERED & RESPONSIVE DESKTOP NAVBAR (NO OVERFLOW)
   ========================================================================== */
.site-nav-container {
  background: #800000 !important;
  background-color: #800000 !important;
  border-bottom: 3px solid var(--gold-primary, #C59B27) !important;
  position: sticky;
  top: 0;
  z-index: 1000;
  box-shadow: none !important;
  width: 100%;
}

.site-nav-container .site-container {
  max-width: 1200px !important;
  padding: 0 10px !important;
  margin: 0 auto !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.nav-flex-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 50px !important;
  width: 100% !important;
  margin: 0 auto !important;
}

.main-menu {
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin: 0 auto !important;
}

.site-nav-list {
  display: flex !important;
  list-style: none !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 3px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  flex-wrap: nowrap !important;
  width: auto !important;
}

.site-nav-list .nav-item {
  position: relative;
  flex-shrink: 0;
}

.site-nav-list .nav-link,
.site-nav-list a.nav-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
  color: #FFFDF8 !important;
  font-family: var(--font-heading) !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  padding: 13px 8px !important;
  white-space: nowrap !important;
  letter-spacing: 0.1px !important;
  transition: var(--transition-normal);
  text-shadow: none !important;
  line-height: 1;
}

.site-nav-list .nav-link span,
.site-nav-list a span {
  color: #FFFDF8 !important;
}

.site-nav-list .nav-dropdown-icon {
  width: 8px !important;
  height: 8px !important;
  fill: #DFBA4E !important;
  opacity: 0.9;
  margin-left: 2px;
  flex-shrink: 0;
  transition: transform 0.2s;
}

.site-nav-list .nav-link:hover,
.site-nav-list .nav-item:hover > .nav-link,
.site-nav-list .nav-link.active {
  color: var(--gold-light) !important;
  background-color: rgba(255, 255, 255, 0.08) !important;
}

.site-nav-list .nav-link:hover span,
.site-nav-list .nav-item:hover > .nav-link span {
  color: var(--gold-light) !important;
}

.site-nav-list .nav-link:hover .nav-dropdown-icon,
.site-nav-list .nav-item:hover .nav-dropdown-icon {
  fill: var(--gold-light) !important;
  transform: rotate(180deg);
}

/* OPD Duty Details Highlight Pill in Nav */
.site-nav-list .nav-badge-opd,
.site-nav-list .nav-link-opd {
  background: var(--gold-primary) !important;
  color: var(--maroon-deepest) !important;
  font-weight: 700 !important;
  padding: 6px 10px !important;
  border-radius: 4px !important;
  text-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
}

.site-nav-list .nav-badge-opd span,
.site-nav-list .nav-link-opd span {
  color: var(--maroon-deepest) !important;
}

.site-nav-list .nav-badge-opd:hover,
.site-nav-list .nav-link-opd:hover {
  background: var(--gold-light) !important;
  color: var(--maroon-deepest) !important;
}


/* Perfectly sized and centered desktop navigation bar */
.site-nav-list .nav-link,
.site-nav-list a.nav-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 2px !important;
  color: #FFFDF8 !important;
  font-family: var(--font-heading) !important;
  font-size: 0.77rem !important;
  font-weight: 600 !important;
  padding: 12px 6px !important;
  white-space: nowrap !important;
  letter-spacing: 0.1px !important;
  line-height: 1 !important;
}

.site-nav-list .nav-badge-opd,
.site-nav-list .nav-link-opd {
  background: var(--gold-primary) !important;
  color: var(--maroon-deepest) !important;
  font-weight: 700 !important;
  font-size: 0.77rem !important;
  padding: 6px 9px !important;
  border-radius: 4px !important;
}

.site-nav-list {
  gap: 1px !important;
}


/* ==========================================================================
   HOMEPAGE VIDEO SHOWCASE & CAMPUS MEDIA SECTION
   ========================================================================== */
.video-showcase-section {
  padding: 60px 0;
  background: var(--bg-alt);
  border-top: 1px solid var(--border-sandalwood);
  border-bottom: 1px solid var(--border-sandalwood);
}

.video-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  margin-top: 30px;
}

.video-card {
  background: #FFFDF8;
  border: 1px solid var(--border-sandalwood);
  border-top: 4px solid var(--primary-maroon);
  border-radius: 6px;
  overflow: hidden;
  box-shadow: var(--shadow-md);
  display: flex;
  flex-direction: column;
}

.video-embed-box {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #000000;
  overflow: hidden;
}

.video-embed-box iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.video-card-body {
  padding: 20px 24px;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.video-card-tag {
  display: inline-block;
  background: var(--gold-primary);
  color: var(--maroon-deepest);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  padding: 3px 10px;
  border-radius: 4px;
  margin-bottom: 10px;
  width: fit-content;
}

.video-card-title {
  font-family: var(--font-heading) !important;
  font-size: 1.18rem;
  color: var(--maroon-heading);
  font-weight: 700;
  margin-bottom: 8px;
  line-height: 1.4;
}

.video-card-desc {
  font-family: var(--font-sans);
  font-size: 0.90rem;
  color: #2D1A16;
  line-height: 1.6;
}

/* ==========================================================================
   AYUSHMAN BHARAT & ADMISSIONS SHOWCASE SECTION
   ========================================================================== */
.abha-section {
  padding: 60px 0;
  background: var(--bg-page);
}

.media-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
  margin-top: 30px;
}

.media-feature-card {
  background: #FFFDF8;
  border: 1px solid var(--border-sandalwood);
  border-top: 4px solid var(--gold-primary);
  border-radius: 6px;
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: var(--transition-normal);
  display: flex;
  flex-direction: column;
}

.media-feature-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
  border-top-color: var(--primary-maroon);
}

.media-card-img-wrapper {
  width: 100%;
  background: #f8f2e4;
  overflow: hidden;
  border-bottom: 1px solid var(--border-sandalwood);
}

.media-card-img-wrapper img {
  width: 100%;
  height: 240px;
  object-fit: contain;
  display: block;
  padding: 10px;
}

.media-card-body {
  padding: 18px 20px;
  flex: 1;
}

.media-card-title {
  font-family: var(--font-heading);
  font-size: 1.05rem;
  color: var(--maroon-heading);
  font-weight: 700;
  margin-bottom: 8px;
}

.media-card-text {
  font-size: 0.88rem;
  color: #2D1A16;
  line-height: 1.55;
}

@media (max-width: 860px) {
  .video-grid {
    grid-template-columns: 1fr;
  }
}


/* Enforce mobile drawer bar on screens <= 1080px */
@media (max-width: 1080px) {
  .main-menu,
  .site-nav-list {
    display: none !important;
  }
  .mobile-nav-bar-strip {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
  }
}


/* Inner Page Titlebar & Breadcrumbs - Sandalwood / Ivory Accent Theme */
.inner-page-titlebar {
  background: linear-gradient(180deg, #FFFDF8 0%, #FAF3E8 100%) !important;
  border-top: 1px solid rgba(197, 155, 39, 0.25) !important;
  border-bottom: 3px solid var(--gold-primary) !important;
  padding: 22px 0 !important;
  color: var(--maroon-deepest) !important;
  box-shadow: 0 3px 12px rgba(128, 0, 0, 0.04) !important;
}

.inner-page-titlebar .inner-page-title,
.inner-page-title {
  color: var(--maroon-deepest) !important;
  font-family: var(--font-heading) !important;
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  margin: 0 !important;
}

.inner-breadcrumbs,
.inner-page-titlebar .inner-breadcrumbs {
  font-size: 0.88rem !important;
  color: #7A6A58 !important;
  font-weight: 500 !important;
}

.inner-breadcrumbs a,
.inner-page-titlebar .inner-breadcrumbs a {
  color: var(--maroon-primary) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  transition: color 0.2s ease !important;
}

.inner-breadcrumbs a:hover,
.inner-page-titlebar .inner-breadcrumbs a:hover {
  color: var(--gold-dark) !important;
  text-decoration: underline !important;
}

/* Contact Page Components & Card Grid */
.contact-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 22px;
  margin: 28px 0 36px 0;
}

.contact-info-card {
  background: #FFFDF8;
  border: 1px solid var(--border-sandalwood);
  border-radius: var(--radius-md);
  padding: 24px;
  transition: var(--transition-normal);
  display: flex;
  flex-direction: column;
}

.contact-info-card:hover {
  transform: translateY(-4px);
  border-color: var(--gold-primary);
  box-shadow: var(--shadow-md);
}

.contact-info-card.emergency-card {
  border-left: 4px solid var(--maroon-primary);
  background: #FFFBF7;
}

.contact-card-header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
}

.contact-icon-box {
  width: 48px;
  height: 48px;
  min-width: 48px;
  border-radius: 8px;
  background: #FAF3E8;
  border: 1px solid var(--gold-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--maroon-primary);
}

.contact-icon-box svg {
  width: 24px !important;
  height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
  fill: currentColor !important;
}

.contact-card-tag {
  display: block;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-weight: 700;
  color: var(--gold-dark);
  margin-bottom: 2px;
}

.contact-info-card h3 {
  font-size: 1.15rem;
  color: var(--maroon-heading);
  margin: 0;
}

.contact-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.contact-list li {
  padding: 8px 0;
  border-bottom: 1px dashed rgba(197, 155, 39, 0.25);
  font-size: 0.92rem;
  color: var(--text-primary);
}

.contact-list li:last-child {
  border-bottom: none;
}

.contact-list strong {
  color: var(--maroon-deepest);
}

.contact-list a {
  color: var(--maroon-primary);
  text-decoration: none;
  font-weight: 600;
}

.contact-list a:hover {
  text-decoration: underline;
  color: var(--gold-dark);
}

/* Ensure any general svg in content does not explode */
.content-card-box svg:not([width]) {
  max-width: 36px;
  max-height: 36px;
}


/* Google Translate Widget & Frame Styling */
.goog-te-banner-frame.skiptranslate,
iframe.goog-te-banner-frame {
  display: none !important;
}
body {
  top: 0px !important;
}
#google_translate_element {
  display: none !important;
}
.goog-te-gadget {
  display: none !important;
}


/* ==========================================================================
   TITLEBAR BREADCRUMB CONTRAST FIX (HIGH LEGIBILITY ON LIGHT TITLEBAR)
   ========================================================================== */
.inner-page-titlebar .breadcrumb-list,
.breadcrumb-list {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  list-style: none !important;
  font-size: 0.90rem !important;
  margin: 0 !important;
  padding: 0 !important;
}

.inner-page-titlebar .breadcrumb-list li a,
.breadcrumb-list a {
  color: var(--maroon-primary) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

.inner-page-titlebar .breadcrumb-list li a:hover,
.breadcrumb-list a:hover {
  color: var(--gold-dark) !important;
  text-decoration: underline !important;
}

.inner-page-titlebar .breadcrumb-list li + li::before,
.breadcrumb-list li + li::before {
  content: "›" !important;
  color: var(--maroon-primary) !important;
  margin-right: 8px !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
}

.inner-page-titlebar .breadcrumb-list li[aria-current="page"],
.breadcrumb-list li[aria-current="page"] {
  color: var(--maroon-deepest) !important;
  font-weight: 700 !important;
}

/* ==========================================================================
   UNIFORM DESKTOP NAVIGATION BAR FONT SIZING (HOME & CONTACT EQUAL TO ALL)
   ========================================================================== */
.site-nav-list,
.site-nav-list li,
.site-nav-list a,
.site-nav-list .nav-link,
.site-nav-list a.nav-link,
.site-nav-list .nav-link span,
.site-nav-list a span,
.site-nav-list li > a {
  font-family: var(--font-heading) !important;
  font-size: 0.79rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: 0.1px !important;
  color: #FFFDF8 !important;
}

.site-nav-list .nav-link,
.site-nav-list a.nav-link,
.site-nav-list li > a {
  display: inline-flex !important;
  align-items: center !important;
  padding: 12px 7px !important;
  gap: 2px !important;
}

.site-nav-list .nav-badge-opd,
.site-nav-list .nav-link-opd,
.site-nav-list .nav-badge-opd span,
.site-nav-list .nav-link-opd span {
  font-size: 0.79rem !important;
  font-weight: 700 !important;
  color: var(--maroon-deepest) !important;
}

/* ==========================================================================
   COMPLETE GOOGLE TRANSLATE BANNER SUPPRESSION & COVER
   ========================================================================== */
.goog-te-banner-frame,
.goog-te-banner-frame.skiptranslate,
iframe.goog-te-banner-frame,
iframe[id*=":1.container"],
iframe[id*=":2.container"],
iframe[id*="google"],
.VIpgJd-ZVi9od-ORHb-OEVmcd,
.VIpgJd-ZVi9od-aZ2wEe-wOHMyf,
.VIpgJd-ZVi9od-aZ2wEe-wOHMyf-ti6hGc,
#goog-gt-tt,
.skiptranslate > iframe {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  width: 0 !important;
  max-height: 0 !important;
  border: 0 !important;
  position: absolute !important;
  top: -9999px !important;
  left: -9999px !important;
  pointer-events: none !important;
  z-index: -9999 !important;
}

html, body {
  top: 0px !important;
  position: static !important;
  margin-top: 0px !important;
}

body {
  top: 0px !important;
}

.goog-tooltip,
.goog-tooltip:hover {
  display: none !important;
}

.goog-text-highlight {
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}


/* ==========================================================================
   DROPDOWN MENU VISIBILITY & CONTRAST FIX (DARK CHARCOAL ON LIGHT CARDS)
   ========================================================================== */
.site-nav-list > li > a,
.site-nav-list > li > .nav-link,
.site-nav-list > li > .nav-link span {
  color: #FFFDF8 !important;
  font-family: var(--font-heading) !important;
  font-size: 0.79rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: 0.1px !important;
}

.site-nav-list .nav-dropdown {
  background: #FFFDF8 !important;
  border: 1px solid var(--border-sandalwood) !important;
  border-top: 3px solid var(--gold-primary) !important;
  box-shadow: none !important;
  z-index: 9999 !important;
}

.site-nav-list .nav-dropdown li {
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid rgba(197, 155, 39, 0.15) !important;
}

.site-nav-list .nav-dropdown li:last-child {
  border-bottom: none !important;
}

.site-nav-list .nav-dropdown a,
.site-nav-list .nav-dropdown li a,
.nav-dropdown a,
.nav-dropdown li a {
  display: block !important;
  padding: 10px 18px !important;
  color: #2D1A16 !important;
  background-color: transparent !important;
  font-family: var(--font-sans) !important;
  font-size: 0.88rem !important;
  font-weight: 500 !important;
  text-shadow: none !important;
  letter-spacing: normal !important;
  line-height: 1.4 !important;
  white-space: normal !important;
  text-align: left !important;
  transition: all 0.2s ease !important;
}

.site-nav-list .nav-dropdown a:hover,
.site-nav-list .nav-dropdown li a:hover,
.nav-dropdown a:hover,
.nav-dropdown li a:hover {
  color: var(--maroon-primary) !important;
  background-color: #FAF3E8 !important;
  padding-left: 22px !important;
  font-weight: 600 !important;
}

.site-nav-list .nav-dropdown a strong {
  color: var(--maroon-deepest) !important;
  font-family: var(--font-heading) !important;
  font-size: 0.90rem !important;
}

.nav-dropdown.test-open { opacity: 1 !important; visibility: visible !important; transform: none !important; display: block !important; }


/* ==========================================================================
   ANNOUNCEMENTS CONTINUOUS MARQUEE SCROLL (INFINITE LOOP & PAUSE ON HOVER)
   ========================================================================== */
.news-ticker-bar {
  background: var(--bg-card) !important;
  border-bottom: 2px solid var(--border-sandalwood) !important;
  padding: 8px 0 !important;
  overflow: hidden !important;
}

.ticker-inner {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
}

.ticker-label {
  background: var(--maroon-primary) !important;
  color: #FFFDF8 !important;
  font-family: var(--font-heading) !important;
  font-size: 0.76rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  padding: 6px 14px !important;
  border-radius: 4px !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  box-shadow: 0 2px 4px rgba(128, 0, 0, 0.2) !important;
}

.ticker-marquee {
  overflow: hidden !important;
  position: relative !important;
  flex: 1 !important;
  display: flex !important;
}

.ticker-track {
  display: inline-flex !important;
  white-space: nowrap !important;
  animation: tickerScrollAnimation 35s linear infinite !important;
  will-change: transform !important;
}

.ticker-track:hover {
  animation-play-state: paused !important;
  cursor: default !important;
}

.ticker-item {
  display: inline-block !important;
  padding: 0 28px !important;
  font-size: 0.90rem !important;
  font-weight: 500 !important;
  color: var(--text-primary) !important;
  line-height: 1.5 !important;
}

@keyframes tickerScrollAnimation {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-50%, 0, 0);
  }
}


/* ==========================================================================
   PERFECTLY CENTERED SLIDER ARROW BUTTONS (SUB-PIXEL PRECISION VECTOR ARROWS)
   ========================================================================== */
.slider-nav-btn,
.inner-slider-prev,
.inner-slider-next {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: rgba(62, 0, 0, 0.65) !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 0 !important;
  font-size: 0 !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  transition: all 0.25s ease !important;
}

.inner-slider-prev,
.inner-slider-next {
  width: 40px !important;
  height: 40px !important;
}

.slider-nav-btn svg,
.inner-slider-prev svg,
.inner-slider-next svg {
  width: 20px !important;
  height: 20px !important;
  display: block !important;
  stroke: #FFFDF8 !important;
  stroke-width: 2.8 !important;
  fill: none !important;
  margin: 0 auto !important;
  pointer-events: none !important;
}

.slider-nav-btn:hover,
.inner-slider-prev:hover,
.inner-slider-next:hover {
  background: var(--gold-primary) !important;
  border-color: var(--gold-light) !important;
  transform: translateY(-50%) scale(1.08) !important;
}

.slider-nav-btn:hover svg,
.inner-slider-prev:hover svg,
.inner-slider-next:hover svg {
  stroke: var(--maroon-deepest) !important;
}


/* ==========================================================================
   SMOOTH SCROLL-TRIGGERED REVEAL ANIMATIONS
   ========================================================================== */
.scroll-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1), transform 0.65s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

.scroll-reveal.is-revealed {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

@media (prefers-reduced-motion: reduce) {
  .scroll-reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}


.ticker-label {
  background: #800000 !important;
  color: #FFFDF8 !important;
  font-family: var(--font-heading) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  padding: 6px 14px !important;
  border-radius: 4px !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  box-shadow: 0 2px 5px rgba(128, 0, 0, 0.3) !important;
  z-index: 5 !important;
}


/* ==========================================================================
   MEU ACTIVITIES PHOTO GALLERY GRID & CARDS
   ========================================================================== */
.meu-photo-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)) !important;
  gap: 16px !important;
  margin-top: 14px !important;
  margin-bottom: 30px !important;
}

.meu-photo-card {
  background: #FFFDF8 !important;
  border: 1px solid var(--border-sandalwood) !important;
  border-radius: 6px !important;
  padding: 6px !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
  transition: all 0.25s ease !important;
  overflow: hidden !important;
  display: flex !important;
}

.meu-photo-card:hover {
  transform: translateY(-4px) !important;
  border-color: var(--gold-primary) !important;
  box-shadow: var(--shadow-md) !important;
}

.meu-photo-card a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

.meu-photo-card img {
  width: 100% !important;
  height: 160px !important;
  object-fit: cover !important;
  border-radius: 4px !important;
  display: block !important;
  transition: transform 0.3s ease !important;
}

.meu-photo-card:hover img {
  transform: scale(1.03) !important;
}


/* ==========================================================================
   ADMISSION FORMS & OFFICIAL DOCUMENTS (FULL-WIDTH DISPLAY)
   ========================================================================== */
.admission-form-card {
    background: #FFFFFF;
    border: 1px solid #E2D9CE;
    border-radius: 12px;
    box-shadow: 0 6px 20px rgba(74, 14, 23, 0.06);
    margin-bottom: 2.5rem;
    overflow: hidden;
    transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.admission-form-card:hover {
    box-shadow: 0 10px 28px rgba(74, 14, 23, 0.12);
}

.admission-form-header {
    background: linear-gradient(135deg, #4A0E17 0%, #701420 100%);
    color: #FAF3E8;
    padding: 1.1rem 1.6rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
    border-bottom: 3px solid #D4AF37;
}

.admission-form-title {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 700;
    color: #FAF3E8;
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.admission-form-sub {
    display: block;
    font-size: 0.88rem;
    font-weight: 400;
    color: #E8D5B5;
    margin-top: 0.2rem;
}

.admission-form-actions {
    display: flex;
    gap: 0.5rem;
}

.admission-form-action-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    background: rgba(255, 255, 255, 0.15);
    color: #FFFFFF !important;
    text-decoration: none;
    font-size: 0.85rem;
    font-weight: 600;
    padding: 0.45rem 0.9rem;
    border-radius: 6px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    transition: all 0.2s ease;
}

.admission-form-action-btn:hover {
    background: #D4AF37;
    color: #2D1A16 !important;
    border-color: #D4AF37;
}

.admission-form-body {
    padding: 1.5rem;
    background: #FAF8F5;
    text-align: center;
}

.admission-form-body img {
    width: 100%;
    max-width: 960px;
    height: auto;
    display: block;
    margin: 0 auto;
    border-radius: 6px;
    border: 1px solid #D9CEC1;
    box-shadow: 0 4px 16px rgba(0,0,0,0.06);
    background: #FFFFFF;
}

.admission-doc-download-card {
    background: linear-gradient(135deg, #FAF4E8 0%, #F5E8D3 100%);
    border: 2px dashed #C5A059;
    border-radius: 12px;
    padding: 1.5rem 2rem;
    margin: 2rem 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1.25rem;
}

.admission-doc-info h4 {
    margin: 0 0 0.35rem 0;
    color: #4A0E17;
    font-size: 1.25rem;
}

.admission-doc-info p {
    margin: 0;
    color: #55443D;
    font-size: 0.95rem;
}

.download-pill-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    background: #800000;
    color: #FFFFFF !important;
    font-weight: 700;
    font-size: 0.95rem;
    padding: 0.75rem 1.4rem;
    border-radius: 30px;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(128, 0, 0, 0.25);
    transition: all 0.2s ease;
}

.download-pill-btn:hover {
    background: #500000;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(128, 0, 0, 0.35);
}

.doc-checklist-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 1rem;
    margin: 1.5rem 0;
}

.doc-checklist-item {
    background: #FFFFFF;
    border: 1px solid #E8DFD5;
    border-left: 4px solid #800000;
    border-radius: 8px;
    padding: 0.9rem 1.1rem;
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    box-shadow: 0 2px 6px rgba(0,0,0,0.03);
}

.doc-checklist-item .doc-num {
    background: #800000;
    color: #FFFFFF;
    min-width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.82rem;
    font-weight: 700;
    flex-shrink: 0;
}

.doc-checklist-item .doc-text {
    font-size: 0.92rem;
    font-weight: 600;
    color: #2D1A16;
    line-height: 1.4;
}

.doc-checklist-item .doc-sub {
    display: block;
    font-size: 0.8rem;
    font-weight: 400;
    color: #6C5E57;
    margin-top: 0.2rem;
}

@media (max-width: 768px) {
    .admission-form-header {
        flex-direction: column;
        align-items: flex-start;
    }
    .admission-form-body {
        padding: 0.75rem;
    }
    .admission-doc-download-card {
        padding: 1.25rem 1rem;
        flex-direction: column;
        text-align: center;
    }
    .doc-checklist-grid {
        grid-template-columns: 1fr;
    }
}


/* ==========================================================================
   PERMANENT GOLD BOX & RED DOT FOR OPD DUTY DETAILS IN NAVIGATION
   Always displayed in high-contrast solid gold with red live dot across all pages
   ========================================================================== */
.site-nav-list .nav-badge-opd,
.site-nav-list a.nav-badge-opd,
.site-nav-list a.nav-link.nav-badge-opd {
  background: #C59B27 !important;
  background-color: #C59B27 !important;
  color: #1A0505 !important;
  font-family: var(--font-heading, inherit) !important;
  font-weight: 700 !important;
  font-size: 0.86rem !important;
  padding: 8px 14px !important;
  border-radius: 4px !important;
  border: 1px solid #DFBA4E !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  text-decoration: none !important;
  transition: all 0.2s ease-in-out !important;
  margin: 4px 4px !important;
}

.site-nav-list .nav-badge-opd:hover,
.site-nav-list a.nav-badge-opd:hover,
.site-nav-list a.nav-link.nav-badge-opd:hover {
  background: #DFBA4E !important;
  background-color: #DFBA4E !important;
  color: #000000 !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35) !important;
  transform: translateY(-1px) !important;
}

.site-nav-list .nav-badge-opd span,
.site-nav-list a.nav-badge-opd span,
.site-nav-list a.nav-link.nav-badge-opd span {
  color: #1A0505 !important;
  font-weight: 700 !important;
}

.site-nav-list .nav-badge-opd:hover span,
.site-nav-list a.nav-badge-opd:hover span {
  color: #000000 !important;
}

/* Pulsing Red Dot */
.pulse-dot,
.site-nav-list .nav-badge-opd .pulse-dot,
.drawer-nav-link.nav-badge-opd .pulse-dot {
  display: inline-block !important;
  width: 9px !important;
  height: 9px !important;
  background-color: #D32F2F !important;
  border: 1px solid #FFFFFF !important;
  border-radius: 50% !important;
  flex-shrink: 0 !important;
  box-shadow: 0 0 0 0 rgba(211, 47, 47, 0.7) !important;
  animation: pulseBadge 1.4s infinite !important;
}

@keyframes pulseBadge {
  0% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(211, 47, 47, 0.75);
  }
  70% {
    transform: scale(1.15);
    box-shadow: 0 0 0 6px rgba(211, 47, 47, 0);
  }
  100% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(211, 47, 47, 0);
  }
}

/* Fix dropdown text contrast: dark maroon text on ivory white dropdown */
.site-nav-list .nav-dropdown {
  background: #FFFDF8 !important;
  border: 1px solid #E5D5BD !important;
  border-top: 3px solid #800000 !important;
  box-shadow: 0 8px 24px rgba(62, 0, 0, 0.18) !important;
}

.site-nav-list .nav-dropdown a,
.site-nav-list .nav-dropdown a span,
.site-nav-list .nav-dropdown a strong {
  color: #380808 !important;
  font-family: var(--font-sans, sans-serif) !important;
  font-size: 0.88rem !important;
  font-weight: 500 !important;
  background: transparent !important;
  text-shadow: none !important;
}

.site-nav-list .nav-dropdown a:hover,
.site-nav-list .nav-dropdown a:hover span,
.site-nav-list .nav-dropdown a:hover strong {
  color: #800000 !important;
  background-color: #F7EFE1 !important;
}

/* Mobile Drawer Gold Box */
.drawer-nav-link.nav-badge-opd {
  background: linear-gradient(135deg, #DFBA4E 0%, #C59B27 100%) !important;
  background-color: #C59B27 !important;
  color: #1A0505 !important;
  border: 1.5px solid #FFE699 !important;
  border-radius: 6px !important;
  padding: 11px 16px !important;
  margin: 8px 14px !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  box-shadow: 0 2px 8px rgba(197, 155, 39, 0.35) !important;
}
.drawer-nav-link.nav-badge-opd span {
  color: #1A0505 !important;
  font-weight: 700 !important;
}

/* Mobile Nav Bar Strip with Language Selector */
.mobile-opd-quick-pill {
  display: none !important;
}

.mobile-lang-switch {
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
  background: rgba(0, 0, 0, 0.3);
  padding: 3px 6px;
  border-radius: 20px;
  border: 1px solid rgba(212, 175, 55, 0.4);
}

.mobile-lang-btn {
  background: transparent;
  color: #FAF3E8;
  border: none;
  font-size: 0.82rem;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 14px;
  cursor: pointer;
  transition: all 0.2s ease;
  font-family: inherit;
}

.mobile-lang-btn.active,
.mobile-lang-btn:hover {
  background: var(--gold-primary, #D4AF37) !important;
  color: #2D1A16 !important;
}

/* ==========================================================================
   DEPARTMENT CONTENT FORMATTING (TWO-COLUMN LISTS, BULLETS, RESULTS, ROOMS)
   ========================================================================== */
.dept-two-col-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem 2.5rem;
  margin: 1.25rem 0 2rem 0;
}

@media (max-width: 768px) {
  .dept-two-col-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}

.portal-bullet-list {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 0.75rem 0 1.5rem 0 !important;
}

.portal-bullet-list li {
  position: relative !important;
  padding-left: 1.6rem !important;
  margin-bottom: 0.65rem !important;
  color: var(--text-main, #2D1A16) !important;
  font-size: 0.98rem !important;
  line-height: 1.6 !important;
}

.portal-bullet-list li::before {
  content: "•";
  position: absolute;
  left: 0.35rem;
  color: var(--maroon-primary, #800000);
  font-size: 1.35rem;
  line-height: 1;
  top: -1px;
}

.dept-results-list {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  margin: 1rem 0 1.75rem 0;
}

.dept-results-item {
  background: #FFFFFF;
  border: 1px solid #EBE3D7;
  border-left: 4px solid var(--maroon-primary, #800000);
  border-radius: 6px;
  padding: 0.85rem 1.25rem;
  font-size: 0.96rem;
  font-weight: 500;
  color: var(--text-main, #2D1A16);
  box-shadow: 0 2px 6px rgba(0,0,0,0.03);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.dept-results-badge {
  background: #E8F5E9;
  color: #2E7D32;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 12px;
  font-size: 0.85rem;
}

.content-prose-block p {
  margin-bottom: 1.15rem;
  line-height: 1.65;
  color: var(--text-main, #2D1A16);
}

.content-prose-block h3 {
  color: var(--maroon-deepest, #4A0E17);
  margin-top: 1.75rem;
  margin-bottom: 0.75rem;
  font-size: 1.2rem;
}

.faculty-contact-pill-list {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  margin: 1rem 0 1.5rem 0;
}

.faculty-contact-pill {
  background: #FFFFFF;
  border: 1px solid #E8DFD5;
  border-radius: 8px;
  padding: 0.85rem 1.2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.faculty-name-role {
  display: flex;
  flex-direction: column;
}

.faculty-name-role strong {
  color: var(--maroon-deepest, #4A0E17);
  font-size: 1rem;
}

.faculty-name-role span {
  color: #6C5E57;
  font-size: 0.88rem;
}


/* ==========================================================================
   STANDARDIZED EVENTS DROPDOWN & MULTI-LEVEL FLYOUT SUBMENU
   - Exactly matches other dropdowns in width (260px) and item height (40px)
   - Flyout submenus appear cleanly to the right on hover
   ========================================================================== */
.site-nav-list .nav-dropdown.has-submenus {
  overflow: visible !important;
  min-width: 260px !important;
  width: 260px !important;
  height: auto !important;
  min-height: auto !important;
  max-height: none !important;
  padding: 6px 0 !important;
  background: #FFFDF8 !important;
  border: 1px solid var(--border-sandalwood) !important;
  border-top: 3px solid var(--gold-primary) !important;
  border-radius: 0 0 var(--radius-md) var(--radius-md) !important;
  box-shadow: none !important;
}

.site-nav-list .nav-dropdown.has-submenus .nav-dropdown-item-has-children {
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  border-bottom: 1px solid rgba(197, 155, 39, 0.15) !important;
}

.site-nav-list .nav-dropdown.has-submenus .nav-dropdown-item-has-children:last-child {
  border-bottom: none !important;
}

.site-nav-list .nav-dropdown.has-submenus .nav-dropdown-item-has-children > a {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  padding: 0 18px !important;
  box-sizing: border-box !important;
  font-family: var(--font-sans) !important;
  font-size: 0.88rem !important;
  font-weight: 500 !important;
  color: #2D1A16 !important;
  background-color: transparent !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  line-height: normal !important;
  transition: all 0.2s ease !important;
}

.site-nav-list .nav-dropdown.has-submenus .nav-dropdown-item-has-children > a span {
  display: inline !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  color: inherit !important;
  line-height: inherit !important;
}

.site-nav-list .nav-dropdown.has-submenus .nav-dropdown-item-has-children > a .nav-submenu-arrow {
  width: 8px !important;
  height: 10px !important;
  fill: currentColor !important;
  margin-left: 12px !important;
  display: inline-block !important;
  flex-shrink: 0 !important;
  opacity: 0.6 !important;
  transition: transform 0.2s ease, opacity 0.2s ease !important;
}

.site-nav-list .nav-dropdown.has-submenus .nav-dropdown-item-has-children:hover > a,
.site-nav-list .nav-dropdown.has-submenus .nav-dropdown-item-has-children > a:hover {
  color: var(--maroon-primary, #800000) !important;
  background-color: #FAF3E8 !important;
  font-weight: 600 !important;
  padding-left: 22px !important;
}

.site-nav-list .nav-dropdown.has-submenus .nav-dropdown-item-has-children:hover > a .nav-submenu-arrow,
.site-nav-list .nav-dropdown.has-submenus .nav-dropdown-item-has-children > a:hover .nav-submenu-arrow {
  opacity: 1 !important;
  transform: translateX(3px) !important;
}

/* Flyout Submenu on the Right */
.site-nav-list .nav-dropdown.has-submenus .nav-dropdown-submenu {
  position: absolute !important;
  top: 0 !important;
  left: 100% !important;
  min-width: 240px !important;
  background: #FFFDF8 !important;
  border: 1px solid var(--border-sandalwood, #E5D5C5) !important;
  border-left: 3px solid var(--gold-primary, #C59B27) !important;
  border-radius: 0 var(--radius-md, 6px) var(--radius-md, 6px) var(--radius-md, 6px) !important;
  box-shadow: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateX(6px) !important;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease !important;
  z-index: 10002 !important;
  list-style: none !important;
  padding: 6px 0 !important;
  margin: 0 !important;
}

.site-nav-list .nav-dropdown.has-submenus .nav-dropdown-item-has-children:hover > .nav-dropdown-submenu {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateX(0) !important;
  display: block !important;
}

.site-nav-list .nav-dropdown-submenu li {
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid rgba(197, 155, 39, 0.12) !important;
}

.site-nav-list .nav-dropdown-submenu li:last-child {
  border-bottom: none !important;
}

.site-nav-list .nav-dropdown-submenu li a {
  display: block !important;
  padding: 9px 18px !important;
  height: 38px !important;
  min-height: 38px !important;
  box-sizing: border-box !important;
  font-family: var(--font-sans) !important;
  font-size: 0.88rem !important;
  font-weight: 500 !important;
  color: var(--text-main, #2D1A16) !important;
  background-color: transparent !important;
  white-space: nowrap !important;
  line-height: normal !important;
  transition: all 0.2s ease !important;
}

.site-nav-list .nav-dropdown-submenu li a:hover {
  background: var(--bg-hover, #FAF3E8) !important;
  color: var(--maroon-primary, #800000) !important;
  padding-left: 22px !important;
  font-weight: 600 !important;
}

/* ==========================================================================
   UNIFORM MOBILE DRAWER STYLING (SAME COLOR & FONT ACROSS ALL ITEMS)
   ========================================================================== */
.drawer-nav-link,
.drawer-nav-link:link,
.drawer-nav-link:visited,
button.drawer-nav-link,
.drawer-accordion-btn {
  font-family: var(--font-sans) !important;
  color: var(--text-main, #2D1A16) !important;
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  background: transparent !important;
}

.drawer-nav-link span,
.drawer-accordion-btn span {
  color: var(--text-main, #2D1A16) !important;
  font-family: var(--font-sans) !important;
  font-weight: 600 !important;
}

.drawer-accordion-btn svg {
  color: var(--text-main, #2D1A16) !important;
  fill: currentColor !important;
}

.drawer-nav-link:hover,
.drawer-nav-link:active,
.drawer-accordion-btn:hover,
.drawer-accordion-btn:active {
  color: var(--maroon-primary, #800000) !important;
  background-color: var(--bg-subtle, #FAF5ED) !important;
}

.drawer-nav-link:hover span,
.drawer-accordion-btn:hover span,
.drawer-nav-link:hover svg,
.drawer-accordion-btn:hover svg {
  color: var(--maroon-primary, #800000) !important;
}

/* Mobile Drawer Group Title */
.drawer-submenu-group-title {
  padding: 10px 18px 4px 18px !important;
  font-size: 0.76rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  color: var(--gold-light, #E2B961) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  margin-top: 6px;
  list-style: none;
}

.drawer-submenu-group-title:first-child {
  border-top: none;
  margin-top: 0;
}


/* === MASTER MOBILE RESPONSIVE OVERRIDES === */

/* 1. Mobile Menu Bar Strip: Sleek, compact height with "Menu" label */
@media (max-width: 1080px) {
  .site-nav-container {
    min-height: auto !important;
  }
  .nav-flex-wrapper {
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 !important;
  }
  .mobile-nav-bar-strip {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    padding: 4px 12px !important;
    height: 40px !important;
    box-sizing: border-box !important;
  }
  .mobile-nav-toggle-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: rgba(255, 255, 255, 0.18) !important;
    border: 1.5px solid rgba(255, 255, 255, 0.6) !important;
    color: #FFFFFF !important;
    font-size: 0.88rem !important;
    font-weight: 700 !important;
    padding: 4px 14px !important;
    height: 32px !important;
    border-radius: 4px !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2) !important;
  }
  .mobile-nav-toggle-btn span {
    color: #FFFFFF !important;
    font-weight: 700 !important;
    letter-spacing: 0.3px;
  }
  .mobile-nav-toggle-btn svg {
    fill: #FFFFFF !important;
    color: #FFFFFF !important;
  }
  .mobile-nav-toggle-btn:hover,
  .mobile-nav-toggle-btn:focus,
  .mobile-nav-toggle-btn:active {
    background: rgba(255, 255, 255, 0.28) !important;
    border-color: #FFFFFF !important;
    color: #FFFFFF !important;
  }
  .mobile-nav-toggle-btn:hover span,
  .mobile-nav-toggle-btn:focus span,
  .mobile-nav-toggle-btn:active span,
  .mobile-nav-toggle-btn:hover svg,
  .mobile-nav-toggle-btn:focus svg,
  .mobile-nav-toggle-btn:active svg {
    color: #FFFFFF !important;
    fill: #FFFFFF !important;
  }
  .mobile-lang-switch {
    display: none !important;
  }
  /* Remove side tickers / slider navigation arrows in mobile view */
  .slider-nav-btn,
  .slider-prev,
  .slider-next,
  .inner-slider-prev,
  .inner-slider-next {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

/* 2. Top Contact Bar: Single Sleek Row with Phone, Mail, and Translate */
@media (max-width: 860px) {
  .top-bar {
    padding: 2px 0 !important;
    min-height: 32px !important;
  }
  .top-bar-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 3px 8px !important;
    min-height: 30px !important;
    gap: 4px !important;
    box-sizing: border-box !important;
  }
  .top-contacts {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }
  .top-phone-label,
  .top-desktop-only {
    display: none !important;
  }
  .top-item {
    font-size: 0.74rem !important;
    white-space: nowrap !important;
    gap: 4px !important;
    color: #FFFDF8 !important;
    min-width: 0 !important;
  }
  .top-item svg {
    width: 12px !important;
    height: 12px !important;
    flex-shrink: 0 !important;
  }
  .top-links {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    gap: 4px !important;
    flex-shrink: 0 !important;
  }
  .lang-selector {
    display: flex !important;
    padding: 1px !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
    border-radius: 3px !important;
  }
  .lang-btn {
    font-size: 0.70rem !important;
    padding: 2px 6px !important;
    line-height: 1.2 !important;
  }
}

@media (max-width: 480px) {
  .top-bar-inner {
    padding: 2px 6px !important;
  }
  .top-contacts {
    gap: 6px !important;
  }
  .top-item {
    font-size: 0.70rem !important;
  }
  .top-item span {
    max-width: 135px;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .hero-slider-section {
    height: 290px !important;
  }
  .slide-content {
    padding: 0 12px !important;
  }
  .slide-badge {
    font-size: 0.65rem !important;
    padding: 2px 7px !important;
    margin-bottom: 5px !important;
  }
  .slide-title {
    font-size: 1.10rem !important;
    line-height: 1.25 !important;
    margin-bottom: 5px !important;
  }
  .slide-desc {
    font-size: 0.76rem !important;
    line-height: 1.32 !important;
    margin-bottom: 10px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }
  .slide-actions {
    gap: 6px !important;
  }
  .slide-actions .btn {
    padding: 5px 12px !important;
    font-size: 0.74rem !important;
  }
}



/* ==========================================================================
   MASTER FULL-MAROON NAVBAR & ZERO SHADOWS (DESKTOP & MOBILE)
   ========================================================================== */
.site-nav-container,
.nav-bar,
#siteNavbar {
  background: #800000 !important;
  background-color: #800000 !important;
  border-bottom: 3px solid #C59B27 !important;
  box-shadow: none !important;
}

.site-nav-container .site-container,
.nav-flex-wrapper,
.main-menu,
.site-nav-list {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

.site-nav-list .nav-link,
.site-nav-list a,
.site-nav-list a span,
.site-nav-list .nav-link span,
.site-nav-list .nav-dropdown-icon,
.site-nav-list svg,
.nav-dropdown a,
.nav-dropdown a span,
.nav-dropdown-submenu a,
.nav-dropdown-submenu a span,
.mobile-nav-toggle-btn,
.mobile-nav-toggle-btn span,
.drawer-nav-link,
.drawer-accordion-btn {
  text-shadow: none !important;
  box-shadow: none !important;
}

/* Desktop Navigation Safeguard (screens > 1080px) */
@media (min-width: 1081px) {
  .site-nav-container,
  .nav-bar,
  #siteNavbar {
    background: #800000 !important;
    background-color: #800000 !important;
    box-shadow: none !important;
  }
  .site-nav-container .site-container,
  .nav-flex-wrapper,
  .main-menu,
  .site-nav-list {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
  }
  .mobile-nav-bar-strip {
    display: none !important;
  }
  .main-menu {
    display: flex !important;
    width: 100% !important;
    justify-content: center !important;
    background: transparent !important;
  }
  .site-nav-list {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
  }
  .site-nav-list > .nav-item {
    display: inline-block !important;
    flex-shrink: 0 !important;
    background: transparent !important;
  }
  .site-nav-list .nav-link,
  .site-nav-list a.nav-link {
    color: #FFFDF8 !important;
    text-shadow: none !important;
    background: transparent !important;
  }
  .site-nav-list .nav-link:hover,
  .site-nav-list .nav-item:hover > .nav-link {
    background-color: rgba(255, 255, 255, 0.12) !important;
    color: #E2B961 !important;
    border-radius: 4px;
  }
  .drawer-overlay,
  .mobile-drawer {
    display: none !important;
  }
}


/* ==========================================================================
   HOMEPAGE WELCOME & CAMPUS TOUR SECTION
   ========================================================================== */
.welcome-tour-section {
  padding: 60px 0;
  background: var(--bg-card);
  border-top: 1px solid var(--border-sandalwood);
  border-bottom: 1px solid var(--border-sandalwood);
}

.welcome-images-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-bottom: 40px;
}

.welcome-img-card {
  background: #FFFDF8;
  border: 1px solid var(--border-sandalwood);
  border-top: 4px solid var(--maroon-primary);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.welcome-img-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
}

.welcome-img-card img {
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  display: block !important;
}

.welcome-content-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 40px;
  align-items: center;
}

.welcome-text-col .section-title {
  margin-bottom: 16px;
  text-align: left;
}

.welcome-text-col p {
  font-size: 0.96rem;
  line-height: 1.7;
  color: var(--text-secondary);
  margin-bottom: 16px;
}

.welcome-video-wrapper {
  position: relative;
  background: #000000;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-md);
  border: 2px solid var(--border-sandalwood);
}

.welcome-video-wrapper iframe {
  width: 100%;
  height: 340px;
  display: block;
  border: none;
}

.welcome-video-caption {
  padding: 10px 16px;
  background: #FAF8F5;
  border-top: 1px solid var(--border-sandalwood);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.86rem;
  font-weight: 700;
  color: var(--maroon-heading);
}

@media (max-width: 900px) {
  .welcome-images-grid {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-bottom: 28px;
  }
  .welcome-img-card img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
  }
  .welcome-content-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .welcome-video-wrapper iframe {
    height: 250px;
  }
}

/* ==========================================================================
   HOMEPAGE COLLEGE IMAGES & CAMPUS PANORAMA
   ========================================================================== */
.college-images-section {
  padding: 60px 0;
  background: var(--bg-alt);
  border-top: 1px solid var(--border-sandalwood);
  border-bottom: 1px solid var(--border-sandalwood);
}

.college-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin-top: 32px;
}

.college-photo-card {
  background: #FFFDF8;
  border: 1px solid var(--border-sandalwood);
  border-top: 3px solid var(--gold-primary);
  border-radius: var(--radius-sm);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.college-photo-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
  border-top-color: var(--maroon-primary);
}

.college-photo-card img {
  width: 100%;
  height: 230px;
  object-fit: cover;
  display: block;
}

.college-photo-caption {
  padding: 12px 14px;
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--maroon-heading);
  background: #FFFDF8;
  border-top: 1px solid var(--border-sandalwood);
}

@media (max-width: 900px) {
  .college-gallery-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
}

@media (max-width: 540px) {
  .college-gallery-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   DEDICATED AYUSHMAN BHARAT HEALTH ID SEGMENT
   ========================================================================== */
.abha-dedicated-section {
  padding: 60px 0;
  background: var(--bg-card);
  border-top: 1px solid var(--border-sandalwood);
}

.abha-dedicated-grid {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 40px;
  align-items: center;
  background: #FAF8F5;
  border: 1px solid var(--border-sandalwood);
  border-top: 4px solid var(--maroon-primary);
  border-radius: var(--radius-md);
  padding: 36px;
  box-shadow: var(--shadow-sm);
}

.abha-poster-wrapper {
  text-align: center;
}

.abha-poster-wrapper img {
  width: 100%;
  max-width: 400px;
  height: auto;
  border-radius: 6px;
  border: 1px solid var(--border-sandalwood);
  box-shadow: var(--shadow-md);
  display: inline-block;
}

.abha-content-box h2 {
  color: var(--maroon-heading);
  font-size: 1.6rem;
  margin-bottom: 12px;
  text-align: left;
}

.abha-content-box h3 {
  color: var(--maroon-heading);
  font-size: 1.25rem;
  margin-top: 24px;
  margin-bottom: 10px;
}

.abha-content-box p {
  font-size: 0.95rem;
  line-height: 1.68;
  color: var(--text-secondary);
  margin-bottom: 14px;
}

.abha-action-btns {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin: 12px 0 20px 0;
}

@media (max-width: 900px) {
  .abha-dedicated-grid {
    grid-template-columns: 1fr;
    padding: 22px;
    gap: 24px;
  }
}

/* ABHA Portal Official Button - 100% Crisp White Visibility */
.abha-official-btn,
.abha-official-btn span,
.abha-official-btn strong,
.abha-official-btn svg {
  color: #FFFFFF !important;
  fill: #FFFFFF !important;
}

.abha-official-btn {
  background: #800000 !important;
  border: 1.5px solid #800000 !important;
  box-shadow: 0 2px 8px rgba(128, 0, 0, 0.25) !important;
}

.abha-official-btn:hover,
.abha-official-btn:focus,
.abha-official-btn:active {
  background: #5A0000 !important;
  border-color: #5A0000 !important;
  color: #FFFFFF !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(128, 0, 0, 0.35) !important;
}

.abha-official-btn:hover span,
.abha-official-btn:focus span,
.abha-official-btn:active span,
.abha-official-btn:hover strong,
.abha-official-btn:focus strong,
.abha-official-btn:active strong,
.abha-official-btn:hover svg,
.abha-official-btn:focus svg,
.abha-official-btn:active svg {
  color: #FFFFFF !important;
  fill: #FFFFFF !important;
}


/* =============================================================== */
/* ENHANCED PROPORTIONS: DESKTOP & MOBILE SCALED COMPONENTS        */
/* =============================================================== */
@media (min-width: 769px) {
  .info-card {
    padding: 26px 22px !important;
    border-top-width: 4px !important;
    box-shadow: 0 4px 14px rgba(62, 0, 0, 0.08) !important;
  }

  .info-card-icon {
    width: 54px !important;
    height: 54px !important;
  }

  .info-card-icon svg {
    width: 28px !important;
    height: 28px !important;
  }

  .info-card-body h3 {
    font-size: 1.30rem !important;
    margin-bottom: 8px !important;
    font-weight: 700 !important;
  }

  .info-card-body p {
    font-size: 0.98rem !important;
    margin-bottom: 12px !important;
    line-height: 1.58 !important;
  }

  .info-card-link {
    font-size: 0.92rem !important;
    font-weight: 700 !important;
  }

  /* Hero Section Desktop Proportions */
  .slide-content {
    max-width: 880px !important;
    padding: 0 24px !important;
  }

  .slide-title {
    font-size: 2.5rem !important;
    line-height: 1.25 !important;
    margin-bottom: 14px !important;
    font-weight: 800 !important;
  }

  .slide-desc {
    font-size: 1.15rem !important;
    line-height: 1.6 !important;
    margin-bottom: 24px !important;
  }

  .slide-btn {
    padding: 12px 26px !important;
    font-size: 1.02rem !important;
    font-weight: 700 !important;
    border-radius: 6px !important;
  }

  .announcements-bar {
    padding: 12px 0 !important;
  }

  .ticker-label {
    font-size: 0.92rem !important;
    padding: 6px 16px !important;
    font-weight: 700 !important;
  }

  .ticker-text {
    font-size: 0.98rem !important;
    font-weight: 500 !important;
  }

  /* Content Cards & Subpages Desktop Proportions */
  .content-card-box {
    padding: 34px 30px !important;
    box-shadow: 0 4px 16px rgba(62, 0, 0, 0.06) !important;
  }

  .content-section-title {
    font-size: 1.7rem !important;
    margin-bottom: 18px !important;
    font-weight: 700 !important;
  }
}

/* Mobile View Scaling: Proportional fonts and elements (Prevents oversized mobile layouts) */
@media (max-width: 768px) {
  .hero-slider-section {
    height: 320px !important;
  }

  .slide-content {
    max-width: 100% !important;
    padding: 0 16px !important;
  }

  .slide-badge {
    font-size: 0.70rem !important;
    padding: 3px 8px !important;
    margin-bottom: 6px !important;
  }

  .slide-title {
    font-size: 1.35rem !important;
    line-height: 1.25 !important;
    margin-bottom: 8px !important;
    font-weight: 700 !important;
  }

  .slide-desc {
    font-size: 0.85rem !important;
    line-height: 1.45 !important;
    margin-bottom: 14px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  .slide-btn {
    padding: 8px 16px !important;
    font-size: 0.82rem !important;
    font-weight: 600 !important;
    border-radius: 5px !important;
  }

  .info-card {
    padding: 16px 14px !important;
    gap: 12px !important;
    border-radius: 10px !important;
    box-shadow: 0 3px 10px rgba(62, 0, 0, 0.06) !important;
  }

  .info-card-icon {
    width: 44px !important;
    height: 44px !important;
    border-radius: 8px !important;
  }

  .info-card-icon svg {
    width: 22px !important;
    height: 22px !important;
  }

  .info-card-body h3 {
    font-size: 1.10rem !important;
    margin-bottom: 6px !important;
    font-weight: 700 !important;
  }

  .info-card-body p {
    font-size: 0.88rem !important;
    line-height: 1.5 !important;
    margin-bottom: 10px !important;
  }

  .info-card-link {
    font-size: 0.84rem !important;
    font-weight: 600 !important;
  }

  .announcements-bar {
    padding: 8px 0 !important;
  }

  .ticker-label {
    font-size: 0.80rem !important;
    padding: 4px 10px !important;
    font-weight: 700 !important;
  }

  .ticker-text {
    font-size: 0.85rem !important;
    font-weight: 500 !important;
  }

  .content-card-box {
    padding: 20px 16px !important;
    border-radius: 10px !important;
  }

  .content-section-title {
    font-size: 1.32rem !important;
    margin-bottom: 14px !important;
    font-weight: 700 !important;
  }
}

@media (max-width: 480px) {
  .hero-slider-section {
    height: 290px !important;
  }

  .slide-title {
    font-size: 1.20rem !important;
    line-height: 1.24 !important;
  }

  .slide-desc {
    font-size: 0.80rem !important;
    line-height: 1.38 !important;
    margin-bottom: 12px !important;
  }

  .slide-btn {
    padding: 7px 14px !important;
    font-size: 0.78rem !important;
  }

  .info-card {
    padding: 14px 12px !important;
  }
}


/* Navigation bar centering guarantees */
@media (min-width: 1081px) {
  .site-nav-container .site-container {
    max-width: 1200px !important;
    margin: 0 auto !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }
  .nav-flex-wrapper {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    margin: 0 auto !important;
  }
  .main-menu {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    margin: 0 auto !important;
  }
  .site-nav-list {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 auto !important;
    gap: 3px !important;
    width: auto !important;
  }
  .site-nav-list .nav-link,
  .site-nav-list a.nav-link {
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    padding: 13px 8px !important;
  }
  .site-nav-list .nav-link-opd,
  .site-nav-list a.nav-link-opd {
    background: #C59B27 !important;
    color: #2D1A16 !important;
    font-weight: 700 !important;
    border-radius: 4px !important;
    padding: 7px 11px !important;
    margin: 0 3px !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25) !important;
  }
  .site-nav-list .nav-link-opd span,
  .site-nav-list a.nav-link-opd span {
    color: #2D1A16 !important;
    font-weight: 700 !important;
  }
}

/* =============================================================== */
/* PURE-JS STATIC LIGHTBOX MODAL (ON-SITE IMAGE POPUP)            */
/* =============================================================== */
#gtvmc-lightbox {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 999999 !important;
  display: none;
  align-items: center !important;
  justify-content: center !important;
  opacity: 0;
  transition: opacity 0.25s ease;
}

#gtvmc-lightbox.active {
  display: flex !important;
  opacity: 1 !important;
}

.gtvmc-lightbox-backdrop {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: rgba(12, 6, 6, 0.94) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  cursor: pointer !important;
}

.gtvmc-lightbox-container {
  position: relative !important;
  z-index: 2 !important;
  max-width: 95vw !important;
  max-height: 95vh !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  pointer-events: none !important;
}

.gtvmc-lightbox-content {
  position: relative !important;
  pointer-events: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  max-width: 94vw !important;
  max-height: 92vh !important;
}

.gtvmc-lightbox-img {
  max-width: 92vw !important;
  max-height: 84vh !important;
  object-fit: contain !important;
  border-radius: 8px !important;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.8) !important;
  user-select: none !important;
  display: block !important;
  animation: gtvmcZoomIn 0.25s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
  background: #FFFFFF;
}

@keyframes gtvmcZoomIn {
  from { opacity: 0; transform: scale(0.92); }
  to { opacity: 1; transform: scale(1); }
}

.gtvmc-lightbox-caption {
  margin-top: 14px !important;
  color: #FAF3E8 !important;
  font-size: 15px !important;
  text-align: center !important;
  font-weight: 600 !important;
  max-width: 85vw !important;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.9) !important;
  letter-spacing: 0.3px;
}

.gtvmc-lightbox-close {
  position: fixed !important;
  top: 22px !important;
  right: 26px !important;
  width: 46px !important;
  height: 46px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.22) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.45) !important;
  color: #FFFFFF !important;
  font-size: 32px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 10 !important;
  pointer-events: auto !important;
  transition: all 0.2s ease !important;
  outline: none !important;
}

.gtvmc-lightbox-close:hover {
  background: #C62828 !important;
  border-color: #C62828 !important;
  transform: scale(1.1) !important;
}

.gtvmc-lightbox-prev,
.gtvmc-lightbox-next {
  position: fixed !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 50px !important;
  height: 50px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.22) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.45) !important;
  color: #FFFFFF !important;
  font-size: 26px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 10 !important;
  pointer-events: auto !important;
  transition: all 0.2s ease !important;
  outline: none !important;
}

.gtvmc-lightbox-prev:hover,
.gtvmc-lightbox-next:hover {
  background: #C59B27 !important;
  border-color: #C59B27 !important;
  color: #2D1A16 !important;
  transform: translateY(-50%) scale(1.1) !important;
}

.gtvmc-lightbox-prev { left: 24px !important; }
.gtvmc-lightbox-next { right: 24px !important; }

/* Clickable image affordance everywhere on site */
.content-card-box img,
.roster-viewer-box img,
.welcome-img-card img,
.gallery-grid img,
.page-featured-img,
article img:not(.header-logo-banner),
.site-content img:not(.header-logo-banner) {
  cursor: zoom-in;
  transition: transform 0.25s ease, filter 0.25s ease;
}

.content-card-box img:hover,
.roster-viewer-box img:hover,
.welcome-img-card img:hover,
article img:not(.header-logo-banner):hover {
  filter: brightness(0.96);
}



/* Dean desk actions & spacing */
.dean-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 24px;
}
@media (max-width: 580px) {
  .dean-actions {
    flex-direction: column;
    gap: 12px;
    width: 100%;
  }
  .dean-actions .btn {
    width: 100%;
    text-align: center;
    justify-content: center;
    margin: 0 !important;
  }
  .dean-message-box {
    padding: 22px 18px !important;
    border-left-width: 4px !important;
  }
  .dean-grid {
    gap: 22px !important;
  }
}


/* ==========================================================================
   HOMEPAGE SEGMENT COLOR SEPARATION & VISUAL RHYTHM
   Distinct, elegant alternating backgrounds & subtle divider borders
   ========================================================================== */

/* Segment 1: Quick Access Info Cards */
.quick-info-section {
  background-color: #FAF3E8 !important;
  padding: 48px 0 !important;
  border-bottom: 1.5px solid #EAD8C3 !important;
}

.quick-info-section .info-card {
  background-color: #FFFFFF !important;
  border: 1px solid #E5D5BD !important;
  border-top: 4px solid var(--gold-primary, #C59B27) !important;
}

/* Segment 2: Cath Lab Facility Spotlight (Clean White Background, No Separate Box) */
.cathlab-section {
  background-color: #FFFFFF !important;
  padding: 64px 0 !important;
  border-top: 1px solid #EAE0D3 !important;
  border-bottom: 1.5px solid #EAE0D3 !important;
}

.cathlab-content-grid > div:last-child,
.cathlab-details {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

/* Segment 3: Dean's Desk Profile Section */
.dean-section {
  background-color: #FAF5EB !important;
  padding: 64px 0 !important;
  border-bottom: 1.5px solid #E8D7C2 !important;
}

.dean-profile-card {
  background: #FFFFFF !important;
  border: 1px solid #DFCBB4 !important;
  border-radius: 14px !important;
  box-shadow: 0 6px 22px rgba(62, 0, 0, 0.07) !important;
}

.dean-message-box {
  background: #FFFFFF !important;
  border: 1px solid #DFCBB4 !important;
  border-left: 5px solid var(--primary-maroon, #800000) !important;
  border-radius: 14px !important;
  box-shadow: 0 6px 22px rgba(62, 0, 0, 0.07) !important;
}

/* Segment 4: Welcome to GTVMC & Campus Tour Showcase (Pure Crisp White) */
.welcome-tour-section {
  background-color: #FFFFFF !important;
  padding: 68px 0 !important;
  border-bottom: 1.5px solid #EAE0D3 !important;
}

.welcome-img-card {
  background: #FFFDF8 !important;
  border: 1.5px solid #E2D3BF !important;
  box-shadow: 0 6px 24px rgba(62, 0, 0, 0.07) !important;
}

/* Segment 5: 26 Medical & Clinical Departments (Rich Warm Sandalwood Band) */
.dept-section {
  background-color: #F4EAD7 !important;
  padding: 70px 0 !important;
  border-bottom: 1.5px solid #DECBB0 !important;
}

.dept-card {
  background-color: #FFFFFF !important;
  border: 1.5px solid #DECAB1 !important;
  border-top: 4px solid var(--gold-primary, #C59B27) !important;
  box-shadow: 0 4px 14px rgba(62, 0, 0, 0.05) !important;
}

/* Segment 6: Explore GTVMC Video Showcase */
.video-showcase-section {
  background-color: #FFFDF8 !important;
  padding: 68px 0 !important;
  border-bottom: 1.5px solid #E5D5BD !important;
}

.video-card {
  background-color: #FFFFFF !important;
  border: 1.5px solid #E2D2BC !important;
  box-shadow: 0 6px 20px rgba(62, 0, 0, 0.06) !important;
}

/* Segment 7: Stats Banner (Deep Royal Maroon) */
.stats-section {
  background: linear-gradient(135deg, #4A0000 0%, #750000 50%, #520000 100%) !important;
  padding: 56px 0 !important;
  box-shadow: inset 0 2px 10px rgba(0, 0, 0, 0.35) !important;
}

/* Segment 8: College Images & Campus Views */
.college-images-section {
  background-color: #FAF3E8 !important;
  padding: 68px 0 !important;
  border-bottom: 1.5px solid #EAD8C3 !important;
}

.gallery-photo-card {
  background-color: #FFFFFF !important;
  border: 1.5px solid #E5D5C1 !important;
  box-shadow: 0 4px 16px rgba(62, 0, 0, 0.06) !important;
}

/* Segment 9: Ayushman Bharat ABHA Card */
.abha-dedicated-section {
  background-color: #F3E7D2 !important;
  padding: 56px 0 !important;
}

.abha-dedicated-card {
  background-color: #FFFFFF !important;
  border: 1.5px solid #DFC9B0 !important;
  box-shadow: 0 8px 28px rgba(62, 0, 0, 0.08) !important;
}

/* Decorative Section Flourish Ribbons */
.section-header h2::after,
.section-title::after {
  content: '';
  display: block;
  width: 64px;
  height: 3px;
  background: linear-gradient(90deg, #DFBA4E, #C59B27, #800000);
  margin: 12px auto 0;
  border-radius: 2px;
}

/* Micro-Interactions & Hover Elevation Animations */
.dept-card,
.info-card,
.video-card,
.welcome-img-card,
.gallery-photo-card {
  transition: transform 0.28s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.28s ease, border-color 0.28s ease !important;
}

.dept-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 10px 26px rgba(62, 0, 0, 0.12) !important;
  border-top-color: var(--primary-maroon, #800000) !important;
}

.info-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 10px 26px rgba(62, 0, 0, 0.12) !important;
  border-top-color: var(--primary-maroon, #800000) !important;
}

.welcome-img-card:hover,
.video-card:hover,
.gallery-photo-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 10px 28px rgba(62, 0, 0, 0.14) !important;
}

/* Contact Form Responsive Grid */
@media (max-width: 640px) {
  .gtvmc-contact-form .form-row {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    margin-bottom: 14px !important;
  }
  .contact-form-section {
    padding: 24px 18px !important;
  }
}

/* =============================================================== */
/* ABSOLUTE GUARANTEE: MOBILE DRAWER OPD DUTY DETAILS GOLD BOX    */
/* Placed at end of stylesheet with maximum selector specificity   */
/* =============================================================== */
#mobileDrawer .drawer-nav-link.nav-badge-opd,
#mobileDrawer a.drawer-nav-link.nav-badge-opd,
.mobile-drawer-content .drawer-nav-link.nav-badge-opd,
.drawer-nav-link.nav-badge-opd,
a.drawer-nav-link.nav-badge-opd {
  background: #C59B27 !important;
  background-color: #C59B27 !important;
  background-image: linear-gradient(135deg, #E5BA42 0%, #C59B27 100%) !important;
  color: #1A0505 !important;
  border: 1.5px solid #FFE494 !important;
  border-radius: 8px !important;
  padding: 12px 18px !important;
  margin: 10px 14px !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  box-shadow: 0 4px 12px rgba(197, 155, 39, 0.45) !important;
  text-decoration: none !important;
}

#mobileDrawer .drawer-nav-link.nav-badge-opd:hover,
#mobileDrawer .drawer-nav-link.nav-badge-opd:active,
#mobileDrawer a.drawer-nav-link.nav-badge-opd:hover,
#mobileDrawer a.drawer-nav-link.nav-badge-opd:active {
  background: #B58B1E !important;
  background-color: #B58B1E !important;
  background-image: linear-gradient(135deg, #DFB23A 0%, #B58B1E 100%) !important;
  color: #1A0505 !important;
}

#mobileDrawer .drawer-nav-link.nav-badge-opd span,
#mobileDrawer a.drawer-nav-link.nav-badge-opd span,
.drawer-nav-link.nav-badge-opd span {
  color: #1A0505 !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
}

#mobileDrawer .drawer-nav-link.nav-badge-opd .pulse-dot,
.drawer-nav-link.nav-badge-opd .pulse-dot {
  background: #C62828 !important;
  width: 9px !important;
  height: 9px !important;
  border-radius: 50% !important;
  display: inline-block !important;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.45) !important;
}


/* ==========================================================================
   GLOBAL INTERACTIVE ANIMATIONS & TEXT FADE-IN
   Fluid, modern, staggered reveals across all subpages and components
   ========================================================================== */

/* 1. Text Fade-in Scroll Reveal */
.text-fade-in {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1), transform 0.65s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

.text-fade-in.is-revealed {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* 2. Block Scroll Reveal */
.scroll-reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

.scroll-reveal.is-revealed {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* 3. Hero Text Entrance on Active Slide */
.slide.active .slide-title {
  animation: heroTextFadeUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.slide.active .slide-desc {
  animation: heroTextFadeUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.12s both;
}

.slide.active .slide-actions {
  animation: heroTextFadeUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.22s both;
}

.slide.active .slide-badge {
  animation: heroTextFadeUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) both;
}

@keyframes heroTextFadeUp {
  from {
    opacity: 0;
    transform: translateY(22px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 4. Subpage Banner Text Entrance */
.inner-hero-slider .inner-page-title {
  animation: heroTextFadeUp 0.75s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.breadcrumbs {
  animation: heroTextFadeUp 0.75s cubic-bezier(0.16, 1, 0.3, 1) 0.1s both;
}

/* 5. Subpage Content Card Box & Prose Micro-Interactions */
.content-card-box {
  transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.3s ease !important;
}

.content-card-box:hover {
  box-shadow: 0 8px 30px rgba(62, 0, 0, 0.09) !important;
}

/* 6. Table Row Hover Highlight across all Subpages */
table tbody tr {
  transition: background-color 0.2s ease !important;
}

table tbody tr:hover {
  background-color: #F8F2E6 !important;
}

/* 7. Global Interactive Buttons */
.btn {
  transition: all 0.26s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
  position: relative;
  overflow: hidden;
}

.btn:hover {
  transform: translateY(-2.5px) !important;
  box-shadow: 0 6px 18px rgba(128, 0, 0, 0.25) !important;
}

.btn-primary:hover {
  box-shadow: 0 6px 18px rgba(197, 155, 39, 0.45) !important;
}

.btn:active {
  transform: translateY(0) !important;
  box-shadow: 0 2px 8px rgba(128, 0, 0, 0.2) !important;
}

/* 8. Interactive Icon Scaling */
.info-card-icon,
.dept-card-icon,
.contact-icon-box {
  transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), background-color 0.3s ease, color 0.3s ease !important;
}

.info-card:hover .info-card-icon,
.dept-card:hover .dept-card-icon,
.contact-info-card:hover .contact-icon-box {
  transform: scale(1.12) rotate(-3deg) !important;
  background-color: var(--primary-maroon, #800000) !important;
  color: #FFFDF8 !important;
}

.info-card:hover .info-card-icon svg,
.dept-card:hover .dept-card-icon svg,
.contact-info-card:hover .contact-icon-box svg {
  fill: #FFFDF8 !important;
}

/* 9. Subpage Content Links Hover Underline Flourish */
.content-prose-block a:not(.btn) {
  position: relative;
  text-decoration: none;
  color: var(--primary-maroon, #800000);
  font-weight: 600;
  transition: color 0.2s ease;
}

.content-prose-block a:not(.btn)::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 1.5px;
  background: var(--gold-primary, #C59B27);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.25s ease;
}

.content-prose-block a:not(.btn):hover::after {
  transform: scaleX(1);
  transform-origin: left;
}

/* 10. Respect User Motion Preference */
@media (prefers-reduced-motion: reduce) {
  .text-fade-in,
  .scroll-reveal,
  .slide.active .slide-title,
  .slide.active .slide-desc,
  .slide.active .slide-actions,
  .inner-hero-slider .inner-page-title,
  .breadcrumbs {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
  }
}
