/* ============================================================
   style.css — All styles for index_merged.html
   ============================================================ */

/* ================= GALLERY ================= */

.gallery {
   padding: 60px 40px;
   background: #fff;
}

.gallery h2 {
   text-align: center;
   font-size: 42px;
   margin-bottom: 40px;
   color: #003b7a;
}

.gallery-row {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 25px;
}

.gallery-box {
   background: #fff;
   border-radius: 20px;
   overflow: hidden;
   box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
}

.gallery-slider {
   position: relative;
   height: 350px;
}

.gallery-slider img {
   width: 100%;
   height: 350px;
   object-fit: cover;
   display: none;
}

.gallery-slider img.active {
   display: block;
   animation: fadeGallery 0.8s ease;
}

@keyframes fadeGallery {

   from {
      opacity: 0;
   }

   to {
      opacity: 1;
   }

}

/* MOBILE */

@media(max-width:992px) {

   .gallery-row {
      grid-template-columns: 1fr 1fr;
   }

}

@media(max-width:768px) {

   .gallery {
      padding: 50px 15px;
   }

   .gallery h2 {
      font-size: 30px;
   }

   .gallery-row {
      grid-template-columns: 1fr;
   }

   .gallery-slider {
      height: 250px;
   }

   .gallery-slider img {
      height: 250px;
   }

}

* {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
   font-family: Arial, sans-serif;
}

body {
   background: #f4f6fb;
   overflow-x: hidden;
}

/* ================= HEADER ================= */
.topbar {
   display: flex;
   justify-content: space-between;
   align-items: center;
   padding: 14px 40px;
   background: #fff;
   border-bottom: 2px solid #e8edf3;
   box-shadow: 0 2px 12px rgba(0, 59, 122, 0.06);
   position: relative;
   z-index: 999;
}

.gov {
   display: flex;
   align-items: center;
   gap: 5px;
}

.india-logo {
   height: inherit;
}

.djb-logo {
   height: inherit;
}

.gov h2 {
   font-size: 34px;
   color: #0a1628;
}

.gov p {
   font-size: 18px;
   color: #444;
}

.top-right {
   display: flex;
   align-items: center;
   gap: 14px;
}

/* ---- SEARCH BAR (flex-container approach – overlap impossible) ---- */
.search {
   display: flex;
   align-items: center;
   gap: 8px;
   padding: 8px 16px;
   width: 240px;
   background: #f8fafc;
   border: 1.5px solid #cbd5e1;
   border-radius: 50px;
   transition: border-color 0.25s, box-shadow 0.25s, background 0.25s;
}

.search:focus-within {
   border-color: #003b7a;
   box-shadow: 0 0 0 3px rgba(0, 59, 122, 0.12);
   background: #fff;
}

.search .search-icon {
   color: #94a3b8;
   font-size: 13px;
   flex-shrink: 0;
   pointer-events: none;
   transition: color 0.25s;
}

.search:focus-within .search-icon {
   color: #003b7a;
}

.search input {
   border: none;
   outline: none;
   background: transparent;
   font-size: 14px;
   color: #1e293b;
   width: 100%;
   padding: 0;
   line-height: 1.4;
}

.search input::placeholder {
   color: #94a3b8;
   font-size: 13px;
}

/* ---- AUTH BUTTONS ---- */
.auth-buttons {
   display: flex;
   gap: 8px;
}

.login-btn,
.register-btn {
   display: inline-flex;
   align-items: center;
   gap: 7px;
   padding: 9px 20px;
   font-size: 13px;
   border-radius: 50px;
   text-decoration: none;
   font-weight: 600;
   color: #fff;
   letter-spacing: 0.3px;
   white-space: nowrap;
   transition: background 0.25s, box-shadow 0.25s, transform 0.18s;
}

.login-btn {
   background: linear-gradient(135deg, #003b7a 0%, #005cbf 100%);
   box-shadow: 0 3px 10px rgba(0, 59, 122, 0.28);
}

.register-btn {
   background: linear-gradient(135deg, #00843d 0%, #00a651 100%);
   box-shadow: 0 3px 10px rgba(0, 150, 80, 0.28);
}

.login-btn:hover {
   background: linear-gradient(135deg, #002456 0%, #003b7a 100%);
   box-shadow: 0 6px 18px rgba(0, 59, 122, 0.38);
   transform: translateY(-1px);
}

.register-btn:hover {
   background: linear-gradient(135deg, #005c2a 0%, #007a3d 100%);
   box-shadow: 0 6px 18px rgba(0, 150, 80, 0.38);
   transform: translateY(-1px);
}

.login-btn i,
.register-btn i {
   font-size: 13px;
   opacity: 0.92;
}

/* RESPONSIVE TOPBAR */

/* LARGE DESKTOPS : 4000px → 1600px */
@media (min-width: 1601px) {

   .gov {
      height: 60px;
   }

   .topbar {
      padding: 10px 80px;
   }

   .gov h2 {
      font-size: 32px;
   }

   .gov p {
      font-size: 22px;
   }

   .search {
      width: 320px;
   }

   .search input {
      font-size: 15px;
   }

   .login-btn,
   .register-btn {
      padding: 11px 26px;
      font-size: 15px;
   }
}

/* LAPTOPS : 1600px → 1261px */
@media (max-width: 1600px) {
   .gov {
      height: 50px;
   }

   .topbar {
      padding: 15px 50px;
   }

   .gov h2 {
      font-size: 22px;
   }

   .gov p {
      font-size: 14px;
   }
}

/* YOUR CURRENT BREAKPOINT */
@media (max-width: 1260px) {
   .gov {
      height: 40px;
   }

   .topbar {
      padding: 8px 40px;
      gap: 20px;
      flex-wrap: wrap;
   }

   .gov {
      height: 40px;
   }

   .gov h2 {
      font-size: 16px;
   }

   .gov p {
      font-size: 12px;
   }

   .search {
      width: 200px;
   }

   .djb-logo {
      height: inherit;
   }
}

/* TABLETS : 992px */
@media (max-width: 992px) {
   .gov {
      height: 30px;
   }

   .topbar {
      padding: 12px 20px;
   }

   .gov {
      gap: 8px;
   }

   .gov h2 {
      font-size: 14px;
   }

   .gov p {
      font-size: 10px;
   }

   .top-right {
      gap: 12px;
   }

   .search {
      width: 170px;
   }

   .login-btn,
   .register-btn {
      padding: 8px 15px;
      font-size: 13px;
   }
}

/* MOBILE LANDSCAPE : 768px */
@media (max-width: 768px) {
   .gov {
      height: 30px;
   }

   .topbar {
      flex-direction: column;
      align-items: flex-start;
      gap: 15px;
   }

   .gov {
      width: 100%;
      height: auto;
   }

   .gov h2 {
      font-size: 12px;
   }

   .gov p {
      font-size: 10px;
   }

   .top-right {
      width: 100%;
      flex-direction: column;
      align-items: stretch;
   }

   .search {
      width: 100%;
   }

   /* search container already width:100% via .search stretch */

   .auth-buttons {
      width: 100%;
      justify-content: stretch;
   }

   .login-btn,
   .register-btn {
      flex: 1;
      justify-content: center;
   }
}

/* MOBILE : 576px */
@media (max-width: 576px) {
   .gov {
      height: 30px;
   }

   .topbar {
      padding: 12px;
   }

   .gov {
      flex-direction: column;
      align-items: center;
      text-align: center;
      gap: 6px;
   }

   .gov-text {
      text-align: center;
   }

   .gov h2 {
      font-size: 10px;
   }

   .gov p {
      font-size: 8px;
   }

   .auth-buttons {
      flex-direction: column;
      gap: 8px;
   }

   .login-btn,
   .register-btn {
      width: 100%;
      padding: 10px 18px;
      justify-content: center;
   }
}

/* SMALL MOBILE : 480pxv */

@media (max-width: 480px) {
   .gov {
      height: 30px;
   }

   .topbar {
      padding: 10px;
   }

   .gov h2 {
      font-size: 10px;
   }

   .gov p {
      font-size: 10px;
   }

   .search input {
      font-size: 13px;
   }

   .login-btn,
   .register-btn {
      font-size: 13px;
      padding: 10px 16px;
      justify-content: center;
   }
}

/* ================= NAVBAR ================= */

.navbar {
   background: #003b7a;
   display: flex;
   align-items: center;
   gap: 22px;
   padding: 8px 24px;
   position: relative;
   z-index: 9999;
   flex-wrap: wrap;
}

/* NAV LINKS */

.navbar a {
   color: #fff;
   text-decoration: none;
   font-size: 16px;
   font-weight: 600;
   display: flex;
   align-items: center;
   gap: 6px;
   padding: 4px 0;
   transition: 0.3s;
   white-space: nowrap;
}

.navbar a:hover {
   color: #4fc3f7;
}

/* DROPDOWN BUTTON */

.dropbtn {
   background: none;
   border: none;
   color: #fff;
   font-size: 16px;
   font-weight: 600;
   cursor: pointer;
   display: flex;
   align-items: center;
   gap: 6px;
   padding: 4px 0;
   transition: 0.3s;
   white-space: nowrap;
}

.dropbtn:hover {
   color: #4fc3f7;
}

.dropdown {
   position: relative;
}

/* DROPDOWN MENU */

/* ── DROPDOWN MENU ── */
@keyframes dropFadeIn {
   from {
      opacity: 0;
      transform: translateY(-6px);
   }

   to {
      opacity: 1;
      transform: translateY(0);
   }
}

.dropdown-content {
   display: none;
   position: absolute;
   top: calc(100% + 15px);
   /* small gap so border is visible */
   left: 0;
   background: #fff;
   min-width: 240px;
   border-radius: 0 8px 8px 8px;
   box-shadow: 0 10px 30px rgba(0, 59, 122, 0.18);
   border-top: 3px solid #003b7a;
   /* ← professional blue accent */
   border-left: 1px solid #d0dff0;
   border-right: 1px solid #d0dff0;
   border-bottom: 1px solid #d0dff0;
   z-index: 99999;
   animation: dropFadeIn 0.18s ease both;
}

/* transparent bridge so hover doesn't break when moving mouse down */
.dropdown-content::before {
   content: "";
   position: absolute;
   top: -22px;
   left: 0;
   right: 0;
   height: 22px;
   background: transparent;
}

/* tiny upward arrow pointing to the nav item */
.dropdown-content::after {
   content: "";
   position: absolute;
   top: -8px;
   left: 18px;
   width: 14px;
   height: 8px;
   background: #003b7a;
   clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
}

.dropdown:hover .dropdown-content {
   display: block;
}

/* ── DROPDOWN LINKS ── */

.dropdown-content a {
   color: #003b7a;
   padding: 12px 18px;
   display: flex;
   align-items: center;
   font-size: 14.5px;
   font-weight: 600;
   border-bottom: 1px solid #edf2fb;
   border-left: 3px solid transparent;
   height: auto;
   transition: background 0.18s, padding-left 0.18s, border-left 0.18s;
   letter-spacing: 0.01em;
}

.dropdown-content a:hover {
   background: #eef4ff;
   color: #002a5c;
   padding-left: 24px;
   /* subtle slide-in indent on hover */
   border-left: 3px solid #003b7a;
}

.dropdown-content a:last-child {
   border-bottom-left-radius: 8px;
   border-bottom-right-radius: 8px;
   border-bottom: none;
}

/* ── SUB DROPDOWN ── */

.sub-dropdown {
   position: relative;
}

.sub-dropbtn {
   width: 100%;
   background: #fff;
   color: #003b7a;
   border: none;
   border-left: 3px solid transparent;
   padding: 12px 18px;
   font-size: 14.5px;
   font-weight: 600;
   display: flex;
   align-items: center;
   justify-content: space-between;
   cursor: pointer;
   border-bottom: 1px solid #edf2fb;
   transition: background 0.18s, padding-left 0.18s;
   letter-spacing: 0.01em;
}

.sub-dropbtn:hover {
   background: #eef4ff;
   color: #002a5c;
   padding-left: 24px;
   border-left: 3px solid #003b7a;
}

.sub-dropdown-content {
   display: none;
   position: absolute;
   left: 100%;
   top: 0;
   background: #fff;
   min-width: 230px;
   border-radius: 0 8px 8px 8px;
   box-shadow: 0 10px 30px rgba(0, 59, 122, 0.18);
   border-top: 3px solid #003b7a;
   /* ← matching blue accent */
   border-left: 1px solid #d0dff0;
   border-right: 1px solid #d0dff0;
   border-bottom: 1px solid #d0dff0;
   z-index: 999999;
   animation: dropFadeIn 0.18s ease both;
}

/* transparent bridge on the left so hover doesn't break */
.sub-dropdown-content::before {
   content: "";
   position: absolute;
   left: -20px;
   top: 0;
   bottom: 0;
   width: 20px;
   background: transparent;
}

.sub-dropdown:hover .sub-dropdown-content,
.sub-dropdown.active .sub-dropdown-content {
   display: block;
}

.sub-dropdown-content a {
   padding: 12px 16px;
   font-size: 14px;
   font-weight: 600;
   color: #003b7a;
   display: flex;
   align-items: center;
   text-decoration: none;
   border-bottom: 1px solid #edf2fb;
   border-left: 3px solid transparent;
   transition: background 0.18s, padding-left 0.18s, border-left 0.18s;
}

.sub-dropdown-content a:first-child {
   border-top-right-radius: 8px;
}

.sub-dropdown-content a:last-child {
   border-bottom-left-radius: 8px;
   border-bottom-right-radius: 8px;
   border-bottom: none;
}

.sub-dropdown-content a:hover {
   background: #eef4ff;
   color: #002a5c;
   padding-left: 22px;
   border-left: 3px solid #003b7a;
}

/* LARGE DESKTOP */

@media (min-width:1600px) {

   .navbar {
      gap: 32px;
      padding: 8px 50px;
   }

   .navbar a,
   .dropbtn {
      font-size: 22px;
   }
}

/* LAPTOP */

@media (max-width:1200px) {

   .navbar {
      gap: 18px;
      padding: 0 18px;
   }

   .navbar a,
   .dropbtn {
      font-size: 15px;
   }
}

/* TABLET */

@media (max-width:992px) {

   .navbar {
      gap: 14px;
      padding: 10px 15px;
      min-height: auto;
   }

   /*.navbar a,*/
   /*.dropbtn {*/
   /*   font-size: 14px;*/
   /*   padding: 12px 0;*/
   /*}*/

   .dropdown-content {
      min-width: 210px;
   }
}

/* MOBILE */

@media (max-width:768px) {

   .navbar {
      flex-direction: column;
      align-items: flex-start;
      gap: 0;
      padding: 10px 15px;
   }

   .navbar a,
   .dropbtn {
      width: 100%;
      justify-content: space-between;
      padding: 14px 0;
      font-size: 15px;
   }

   .dropdown {
      width: 100%;
   }

   .dropdown-content {
      position: static;
      width: 100%;
      border-radius: 8px;
      margin-bottom: 10px;
      box-shadow: none;
   }

   .dropdown-content::before,
   .sub-dropdown-content::before {
      display: none !important;
   }

   .sub-dropdown-content {
      position: static;
      width: 100%;
      border-radius: 8px;
      margin-top: 5px;
      box-shadow: none;
   }
}

/* SMALL MOBILE */

@media (max-width:480px) {

   .navbar {
      padding: 8px 12px;
   }

   .navbar a,
   .dropbtn {
      font-size: 14px;
   }

   .dropdown-content a,
   .sub-dropbtn,
   .sub-dropdown-content a {
      font-size: 13px;
      padding: 12px 14px;
   }
}

/* ================= HERO SLIDER FINAL ================= */

.hero-slider {
   flex: 1;
   width: 100%;
   position: relative;
   overflow: hidden;
   background: #fff;
}

/* SLIDE */

.slide {
   display: none;
   width: 100%;
   height: 100%;
}

.slide.active {
   display: block;
}

/* IMAGE */

.slide img {
   width: 100%;
   height: 100%;
   object-fit: fill;
   /* stretches to fit */
   display: block;
}

/* ARROWS */

.slider-btn {
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   width: 55px;
   height: 55px;
   border-radius: 50%;
   background: rgba(0, 0, 0, 0.45);
   color: white;
   display: flex;
   align-items: center;
   justify-content: center;
   cursor: pointer;
   font-size: 24px;
   z-index: 100;
   transition: 0.3s;
}

.slider-btn:hover {
   background: #003b7a;
}

.prev {
   left: 20px;
}

.next {
   right: 20px;
}

/* DOTS */

.dots {
   position: absolute;
   bottom: 15px;
   left: 50%;
   transform: translateX(-50%);
   display: flex;
   gap: 10px;
   z-index: 100;
}

.dot {
   width: 14px;
   height: 14px;
   border-radius: 50%;
   background: white;
   opacity: 0.5;
   cursor: pointer;
   transition: 0.3s;
}

.dot.active {
   background: #4fc3f7;
   opacity: 1;
}

/* MOBILE */

@media(max-width:768px) {

   .slider-btn {
      width: 40px;
      height: 40px;
      font-size: 18px;
   }

}

/* ================= ANNOUNCEMENT ================= */

.announcement {
   background: #eef3ff;
   padding: 14px;
   font-weight: bold;
   color: #003b7a;
   font-size: 18px;
}

/* ================= MESSAGE ================= */

.message {
   display: flex;
   align-items: center;
   gap: 40px;
   padding: 70px 40px;
   background: #fff;
}

.message img {
   width: 220px;
   height: 220px;
   border-radius: 50%;
   border: 8px solid #4fc3f7;
   object-fit: cover;
   background: #fff;
   padding: 5px;
}

.message h2 {
   font-size: 36px;
   margin-bottom: 15px;
   color: #003b7a;
}

.message p {
   font-size: 20px;
}

/* ================= CARDS ================= */
/* ================= CARDS ================= */

/* ── FEATURE CARDS — PROFESSIONAL ── */
.cards {
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   gap: 22px;
   padding: 56px 60px;
   background: linear-gradient(180deg, #f0f4fb 0%, #e8f2ff 100%);
   position: relative;
}

.cards::before {
   display: block;
   position: absolute;
   top: 22px;
   left: 60px;
   font-size: 12px;
   font-weight: 800;
   letter-spacing: 0.12em;
   text-transform: uppercase;
   color: #003b7a;
   opacity: 0.5;
}

.card {
   background: #fff;
   padding: 30px 22px 24px;
   border-radius: 18px;
   text-align: center;
   width: 100%;
   height: auto;
   min-height: 320px;
   box-shadow: 0 3px 16px rgba(0, 59, 122, 0.09);
   border: 1px solid #e3eaf6;
   transition: transform 0.22s, box-shadow 0.22s;
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   align-items: center;
   position: relative;
   overflow: hidden;
}

.card::before {
   content: '';
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   height: 3px;
   background: linear-gradient(90deg, #003b7a, #0077cc);
   border-radius: 18px 18px 0 0;
}

.card:hover {
   transform: translateY(-6px);
   box-shadow: 0 12px 32px rgba(0, 59, 122, 0.16);
}

.card img {
   width: 72px;
   height: 72px;
   object-fit: contain;
   margin-bottom: 14px;
   filter: drop-shadow(0 2px 6px rgba(0, 59, 122, 0.15));
}

.card h3 {
   font-size: 18px;
   color: #002a5c;
   margin-bottom: 10px;
   font-weight: 800;
   line-height: 1.3;
}

.card p {
   font-size: 14px;
   line-height: 1.75;
   color: #6b82a0;
   margin-bottom: 18px;
   flex-grow: 1;
}

.show-more-btn {
   padding: 10px 24px;
   background: linear-gradient(135deg, #003b7a, #0060c7);
   color: #fff;
   border: none;
   border-radius: 30px;
   font-size: 14px;
   font-weight: 700;
   cursor: pointer;
   transition: transform 0.18s, box-shadow 0.18s;
   letter-spacing: 0.02em;
}

.show-more-btn:hover {
   transform: translateY(-2px);
   box-shadow: 0 6px 18px rgba(0, 59, 122, 0.28);
}

@media(max-width:1200px) {
   .cards {
      grid-template-columns: repeat(2, 1fr);
   }
}

@media(max-width:768px) {
   .cards {
      grid-template-columns: 1fr;
      padding: 40px 20px;
   }
}

/* ── POPUP — PROFESSIONAL ── */
.popup-overlay {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: rgba(0, 20, 60, 0.65);
   display: none;
   justify-content: center;
   align-items: center;
   padding: 20px;
   z-index: 999999;
   backdrop-filter: blur(4px);
}

.popup-box {
   background: #fff;
   width: 100%;
   max-width: 680px;
   padding: 23px;
   border-radius: 20px;
   position: relative;
   animation: popupShow 0.3s ease;
   overflow: hidden;
   box-shadow: 0 24px 60px rgba(0, 20, 60, 0.3);
}

.popup-box::before {
   content: '';
   display: block;
   height: 5px;
   background: linear-gradient(90deg, #003b7a, #0077cc, #4fc3f7);
}

.popup-box-inner {
   padding: 36px 40px 40px;
}

.popup-box h2 {
   font-size: 26px;
   color: #002a5c;
   margin-bottom: 16px;
   font-weight: 800;
}

.popup-box p {
   font-size: 16px;
   line-height: 1.9;
   color: #4a5568;
   text-align: justify;
}

.close-popup {
   position: absolute;
   top: 14px;
   right: 18px;
   font-size: 28px;
   cursor: pointer;
   color: #7a94b0;
   background: #f0f4fb;
   width: 36px;
   height: 36px;
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   line-height: 1;
   transition: background 0.2s, color 0.2s;
}

.close-popup:hover {
   background: #003b7a;
   color: #fff;
}

@keyframes popupShow {
   from {
      transform: scale(0.85);
      opacity: 0;
   }

   to {
      transform: scale(1);
      opacity: 1;
   }
}

/* MOBILE */

@media(max-width:768px) {

   .cards {
      padding: 40px 20px;
   }

   .card h3 {
      font-size: 24px;
   }

   .card p {
      font-size: 16px;
   }

   .popup-box {
      padding: 30px 20px;
   }

   .popup-box h2 {
      font-size: 26px;
   }

   .popup-box p {
      font-size: 16px;
   }

}

/* TABLET */

@media(max-width:992px) {

   .cards {
      grid-template-columns: 1fr 1fr;
   }

}

/* MOBILE */

@media(max-width:768px) {

   .cards {
      grid-template-columns: 1fr;
      padding: 50px 15px;
   }

   .card {
      min-height: auto;
   }

}

/* ================= GALLERY ================= */

.gallery {
   padding: 60px 40px;
}

.gallery h2 {
   text-align: center;
   font-size: 42px;
   margin-bottom: 30px;
   color: #003b7a;
}

.gallery-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
   gap: 20px;
}

.gallery-grid img {
   width: 100%;
   height: 320px;
   object-fit: cover;
   border-radius: 15px;
   box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

/* ================= JOIN ================= */

.join {
   padding: 70px 40px;
   background: #fff;
   text-align: center;
}

.join h2 {
   font-size: 42px;
   margin-bottom: 30px;
   color: #003b7a;
}

form {
   max-width: 500px;
   margin: auto;
   display: flex;
   flex-direction: column;
   gap: 15px;
}

form input,
form button {
   padding: 15px;
   border-radius: 8px;
   border: 1px solid #ccc;
}

form button {
   background: #003b7a;
   color: white;
   font-weight: bold;
   cursor: pointer;
   border: none;
}

form button:hover {
   background: #001d42;
}

/* ================= SOCIAL ================= */

.social-sidebar {
   position: fixed;
   top: 40%;
   right: 15px;
   display: flex;
   flex-direction: column;
   gap: 15px;
   z-index: 999;
}

.social-sidebar a {
   width: 52px;
   height: 52px;
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   color: #fff;
   font-size: 22px;
   text-decoration: none;
   box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.facebook {
   background: #1877f2;
}

.twitter {
   background: #000;
}

.linkedin {
   background: #0a66c2;
}

.instagram {
   background: #e1306c;
}

/* ================= FOOTER ================= */

.main-footer {
   background: #003b7a;
   color: #fff;
   margin-top: 50px;
}

.footer-top {
   display: grid;
   grid-template-columns: 1fr 1fr 1fr 1.3fr;
   gap: 50px;
   padding: 60px 70px;
}

.footer-box h3 {
   font-size: 28px;
   margin-bottom: 25px;
}

.footer-box ul {
   list-style: none;
}

.footer-box ul li {
   margin-bottom: 18px;
   display: flex;
   gap: 10px;
}

.footer-box ul li a {
   color: #fff;
   text-decoration: none;
}

.footer-box p {
   line-height: 1.9;
   font-size: 18px;
}

.map-box iframe {
   width: 100%;
   height: 240px;
   border: none;
   border-radius: 8px;
}

.footer-bottom {
   background: #000;
   padding: 25px 60px;
   display: flex;
   justify-content: space-between;
   align-items: center;
   flex-wrap: wrap;
   gap: 20px;
   font-size: 15px;
}

.left-copy span {
   color: #4fc3f7;
   font-weight: bold;
}

/* ================= MOBILE ================= */

@media(max-width:768px) {

   .topbar {
      flex-direction: column;
      gap: 20px;
      padding: 20px;
   }

   .top-right {
      flex-direction: column;
      width: 100%;
   }

   /* ================= NAVBAR ================= */

   .navbar {
      background: #003b7a;
      display: flex;
      align-items: center;
      padding: 0 35px;
      height: 70px;
      gap: 35px;
      position: relative;
      z-index: 9999;
   }

   /* MAIN LINKS */

   .navbar a {
      color: #fff;
      text-decoration: none;
      font-size: 18px;
      font-weight: 600;
      display: flex;
      align-items: center;
      gap: 8px;
      height: 70px;
      transition: 0.3s;
      white-space: nowrap;
   }

   .navbar a:hover {
      color: #4fc3f7;
   }

   /* DROPDOWN */

   .dropdown {
      position: relative;
      height: 70px;
      display: flex;
      align-items: center;
   }

   /* HIDE DROPDOWN */

   .dropdown-content {
      display: none;
      position: absolute;
      top: 70px;
      left: 0;
      background: #fff;
      min-width: 280px;
      border-radius: 0 0 10px 10px;
      overflow: hidden;
      box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);
      z-index: 99999;
   }

   /* SHOW ON HOVER */

   .dropdown:hover .dropdown-content {
      display: block;
   }

   /* DROPDOWN LINKS */

   .dropdown-content a {
      color: #003b7a;
      padding: 14px 18px;
      display: block;
      font-size: 16px;
      font-weight: 600;
      height: auto;
      border-bottom: 1px solid #eee;
   }

   .dropdown-content a:hover {
      background: #f5f7fc;
      color: #000;
   }

   /* LAST ITEM */

   .dropdown-content a:last-child {
      border-bottom: none;
   }

   /* MOBILE */

   @media(max-width:992px) {

      .navbar {
         flex-wrap: wrap;
         height: auto;
         padding: 15px;
         gap: 18px;
      }

      .navbar a {
         height: auto;
         font-size: 15px;
      }

      .dropdown {
         height: auto;
         display: block;
      }

      .dropdown-content {
         position: static;
         display: none;
         width: 100%;
         margin-top: 10px;
         border-radius: 10px;
      }

      .dropdown:hover .dropdown-content {
         display: block;
      }

   }



   .message {
      flex-direction: column;
      text-align: center;
   }

   .message h2 {
      font-size: 28px;
   }

   .gallery-grid {
      grid-template-columns: 1fr;
   }

   .footer-top {
      grid-template-columns: 1fr;
      padding: 40px 25px;
   }

   .footer-bottom {
      flex-direction: column;
      text-align: center;
   }

}


/* ===============================
   DISCUSSION SECTION
================================= */

.discussion-section {
   padding: 70px 40px;
   background: #f5f7fc;
}

.discussion-heading {
   text-align: center;
   margin-bottom: 40px;
}

.discussion-heading h2 {
   font-size: 42px;
   color: #111;
   font-weight: 700;
}

.discussion-container {
   display: flex;
   gap: 40px;
   justify-content: center;
   max-width: 1200px;
   margin: auto;
}

/* LEFT FORM */

.discussion-form {
   background: #fff;
   padding: 25px;
   border-radius: 15px;
   box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.discussion-form form {
   display: flex;
   flex-direction: column;
   gap: 15px;
}

.discussion-form input,
.discussion-form textarea {
   width: 100%;
   padding: 13px 14px;
   border: 1px solid #ccc;
   border-radius: 6px;
   font-size: 14px;
   outline: none;
}

.double-field {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 12px;
}

.discussion-form textarea {
   resize: none;
}

.discussion-form button {
   background: #ff8c00;
   color: #fff;
   border: none;
   padding: 13px;
   font-size: 18px;
   font-weight: 600;
   border-radius: 6px;
   cursor: pointer;
   transition: 0.3s;
}

.discussion-form button:hover {
   background: #e67600;
}

/* RIGHT CONTENT */

.discussion-content {
   display: flex;
   align-items: stretch;
   min-width: 280px;
   flex: 0 0 320px;
}

.discussion-content p {
   font-size: 16px;
   line-height: 1.8;
   color: #555;
   margin-bottom: 18px;
}

.discussion-content h3 {
   font-size: 24px;
   margin-bottom: 15px;
   color: #222;
}

.discussion-content ul {
   padding-left: 20px;
   margin-bottom: 18px;
}

.discussion-content ul li {
   font-size: 16px;
   line-height: 1.9;
   color: #444;
}

/* HELPLINE CARD */

.helpline-card {
   background: linear-gradient(160deg, #003b7a 0%, #005bb5 100%);
   color: #fff;
   border-radius: 16px;
   padding: 36px 30px;
   display: flex;
   flex-direction: column;
   align-items: center;
   text-align: center;
   box-shadow: 0 8px 30px rgba(0, 59, 122, 0.22);
   width: 100%;
}

.helpline-icon-wrap {
   width: 68px;
   height: 68px;
   background: rgba(255, 255, 255, 0.15);
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 28px;
   margin-bottom: 18px;
   border: 2px solid rgba(255,255,255,0.25);
}

.helpline-label {
   font-size: 14px;
   font-weight: 600;
   letter-spacing: 0.12em;
   text-transform: uppercase;
   color: rgba(255,255,255,0.75);
   margin-bottom: 8px !important;
}

.helpline-number {
   font-size: 52px;
   font-weight: 800;
   letter-spacing: 0.04em;
   color: #fff;
   line-height: 1;
   margin-bottom: 20px;
   text-shadow: 0 2px 12px rgba(0,0,0,0.18);
}

.helpline-sub {
   font-size: 14px;
   line-height: 1.75;
   color: rgba(255,255,255,0.82);
   margin-bottom: 24px !important;
}

.helpline-list {
   list-style: none;
   padding: 0;
   margin: 0;
   width: 100%;
   text-align: left;
   border-top: 1px solid rgba(255,255,255,0.15);
   padding-top: 20px;
}

.helpline-list li {
   display: flex;
   align-items: center;
   gap: 10px;
   font-size: 14px;
   color: rgba(255,255,255,0.88);
   padding: 7px 0;
   border-bottom: 1px solid rgba(255,255,255,0.08);
}

.helpline-list li:last-child {
   border-bottom: none;
}

.helpline-list li i {
   color: #4fc3f7;
   font-size: 15px;
   flex-shrink: 0;
}

/* MOBILE */

@media(max-width:992px) {

   .discussion-container {
      flex-direction: column;
   }

   .discussion-content {
      flex: none;
      width: 100%;
   }

}

@media(max-width:768px) {

   .discussion-section {
      padding: 50px 20px;
   }

   .discussion-heading h2 {
      font-size: 30px;
   }

   .double-field {
      grid-template-columns: 1fr;
   }

   .discussion-content p,
   .discussion-content ul li {
      font-size: 15px;
   }

   .discussion-content h3 {
      font-size: 21px;
   }

   .helpline-number {
      font-size: 42px;
   }

}



/* ===============================
   LEADERS SECTION
================================= */

/* ── LEADERS CAROUSEL — PROFESSIONAL ── */
.leaders-section {
   padding: 0;
   background: linear-gradient(135deg, #e8f0fe 0%, #f0f4fb 50%, #e8f4fd 100%);
   position: relative;
}

.leaders-carousel {
   position: relative;
   max-width: 1280px;
   margin: auto;
   overflow: hidden;
   padding: 50px 80px;
}

.leader-slide {
   display: none;
   align-items: center;
   gap: 56px;
   padding: 44px 50px;
   background: #fff;
   border-radius: 24px;
   box-shadow: 0 4px 32px rgba(0, 59, 122, 0.10);
   border: 1px solid #dde8f5;
   position: relative;
   overflow: hidden;
}

.leader-slide::before {
   content: '';
   position: absolute;
   top: 0;
   left: 0;
   width: 5px;
   height: 100%;
   background: linear-gradient(180deg, #003b7a, #0077cc);
   border-radius: 4px 0 0 4px;
}

.leader-slide.active {
   display: flex;
   animation: fadeLeader 0.7s ease;
}

.leader-image {
   position: relative;
   flex-shrink: 0;
}

.leader-image::before {
   content: '';
   position: absolute;
   inset: -7px;
   border-radius: 50%;
   background: linear-gradient(135deg, #003b7a, #0077cc, #4fc3f7);
   z-index: 0;
}

.leader-image img {
   position: relative;
   z-index: 1;
   width: 230px;
   height: 230px;
   border-radius: 50%;
   object-fit: cover;
   border: 6px solid #fff;
   background: #f0f4fb;
   display: block;
}

.leader-content {
   flex: 1;
   position: relative;
}

.leader-content::before {
   content: '\201C';
   position: absolute;
   top: -24px;
   left: -8px;
   font-size: 110px;
   color: #003b7a;
   opacity: 0.07;
   font-family: Georgia, serif;
   line-height: 1;
   pointer-events: none;
}

.leader-content h2 {
   font-size: 26px;
   line-height: 1.55;
   color: #002a5c;
   margin-bottom: 16px;
   font-style: italic;
   font-weight: 700;
}

.leader-content p {
   font-size: 15px;
   line-height: 1.85;
   margin-bottom: 22px;
   color: #546e8a;
}

.leader-content h3 {
   font-size: 19px;
   color: #003b7a;
   margin-bottom: 4px;
   font-weight: 800;
}

.leader-content span {
   font-size: 13px;
   color: #7a94b0;
   font-weight: 600;
   letter-spacing: 0.05em;
   text-transform: uppercase;
}

.leader-dots {
   display: flex;
   justify-content: center;
   gap: 8px;
   margin-top: 22px;
}

.leader-dot {
   width: 8px;
   height: 8px;
   border-radius: 50%;
   background: #c5d5e8;
   transition: background 0.3s, transform 0.3s;
   cursor: pointer;
}

.leader-dot.active {
   background: #003b7a;
   transform: scale(1.4);
}

.leader-btn {
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   width: 46px;
   height: 46px;
   border-radius: 50%;
   background: #fff;
   color: #003b7a;
   border: 2px solid #dde8f5;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 17px;
   cursor: pointer;
   z-index: 10;
   box-shadow: 0 3px 12px rgba(0, 59, 122, 0.12);
   transition: background 0.2s, color 0.2s, box-shadow 0.2s;
}

.leader-btn:hover {
   background: #003b7a;
   color: #fff;
   box-shadow: 0 6px 20px rgba(0, 59, 122, 0.25);
}

.prev-leader {
   left: 14px;
}

.next-leader {
   right: 14px;
}

@keyframes fadeLeader {
   from {
      opacity: 0;
      transform: translateX(24px);
   }

   to {
      opacity: 1;
      transform: translateX(0);
   }
}

@media (max-width: 900px) {
   .leaders-carousel {
      padding: 28px 20px;
   }

   .leader-slide {
      flex-direction: column;
      gap: 24px;
      padding: 28px 20px;
      text-align: center;
   }

   .leader-image img {
      width: 150px;
      height: 150px;
   }

   .leader-content h2 {
      font-size: 18px;
   }
}

/* ===============================
   MOBILE
================================= */

@media(max-width:900px) {

   .leader-slide {
      flex-direction: column;
      text-align: center;
      padding: 30px 20px;
   }

   .leader-image img {
      width: 180px;
      height: 180px;
   }

   .leader-content h2 {
      font-size: 28px;
   }

   .leader-content p {
      font-size: 17px;
   }

   .leader-content h3 {
      font-size: 24px;
   }

}

@media(max-width:768px) {

   .leaders-section {
      padding: 50px 15px;
   }

   .leader-btn {
      width: 42px;
      height: 42px;
      font-size: 18px;
   }

}



/* ===============================
   UPDATES SECTION
================================= */

.updates-section {
   padding: 70px 40px;
   background: #eaf1fb;
}

.updates-container {
   display: block;
   width: 100%;
}

/* LEFT */

.updates-left {
   background: #fff;
   border-radius: 15px;
   overflow: hidden;
   box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
   width: 100%;
}

/* TABS */

.custom-tabs {
   display: flex;
   background: #f7f7f7;
   border-bottom: 1px solid #ddd;
}

.tab-btn {
   padding: 18px 30px;
   border: none;
   background: none;
   font-size: 18px;
   font-weight: 600;
   cursor: pointer;
   transition: 0.3s;
}

.tab-btn.active {
   background: #003b7a;
   color: white;
}

/* ===============================
   TAB CONTENT SCROLL
================================= */

.tab-content {
   display: none;
   max-height: 420px;
   overflow-y: auto;
   padding-right: 8px;
   scroll-behavior: smooth;
}

/* ACTIVE TAB */

.tab-content.active {
   display: block;
}

/* CUSTOM SCROLLBAR */

.tab-content::-webkit-scrollbar {
   width: 8px;
}

.tab-content::-webkit-scrollbar-track {
   background: #f1f1f1;
   border-radius: 10px;
}

.tab-content::-webkit-scrollbar-thumb {
   background: #003b7a;
   border-radius: 10px;
}

.tab-content::-webkit-scrollbar-thumb:hover {
   background: #001d42;
}

/* NOTICE ITEM */

.notice-item {
   display: flex;
   justify-content: space-between;
   align-items: center;
   padding: 25px;
   border-bottom: 1px solid #eee;
   gap: 20px;
}

.notice-item h3 {
   font-size: 17px;
   text-align: justify;
   margin-bottom: 10px;
   color: #555;
   font-weight: 500;
   line-height: 1.8;
}

s .notice-item p {
   font-size: 17px;
   color: #666;
}

.notice-item a {
   padding: 12px 22px;
   background: #003b7a;
   color: white;
   text-decoration: none;
   border-radius: 6px;
   font-weight: bold;
   white-space: nowrap;
   transition: 0.3s;
}

.notice-item a:hover {
   background: #001d42;
}

/* VIEW ALL */

.view-all {
   padding: 20px;
   text-align: right;
   background: #fff;
}

.view-all a {
   background: #ffc107;
   padding: 12px 25px;
   text-decoration: none;
   color: #000;
   font-weight: bold;
   border-radius: 6px;
   display: inline-block;
}

/* RIGHT SIDE */

.updates-right {
   background: #fff;
   border-radius: 15px;
   padding: 25px;
   box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.updates-right h2 {
   font-size: 28px;
   margin-bottom: 25px;
   color: #003b7a;
}

/* TWITTER FEED */

.twitter-feed {
   display: flex;
   flex-direction: column;
   gap: 20px;
   max-height: 420px;
   overflow-y: auto;
   padding-right: 5px;
}

/* TWITTER SCROLL */

.twitter-feed::-webkit-scrollbar {
   width: 8px;
}

.twitter-feed::-webkit-scrollbar-track {
   background: #f1f1f1;
   border-radius: 10px;
}

.twitter-feed::-webkit-scrollbar-thumb {
   background: #1da1f2;
   border-radius: 10px;
}

.twitter-feed blockquote {
   background: #f5f7fc;
   padding: 20px;
   border-left: 5px solid #1da1f2;
   border-radius: 10px;
   font-size: 17px;
   line-height: 1.7;
}

/* ===============================
   MOBILE
================================= */

@media(max-width:992px) {

   .updates-container {
      grid-template-columns: 1fr;
   }

}

@media(max-width:768px) {

   .updates-section {
      padding: 50px 15px;
   }

   .custom-tabs {
      flex-wrap: wrap;
   }

   .tab-btn {
      flex: 1;
      font-size: 15px;
      padding: 15px;
   }

   .notice-item {
      flex-direction: column;
      align-items: flex-start;
   }

   .notice-item h3 {
      font-size: 18px;
   }

   .notice-item a {
      width: 100%;
      text-align: center;
   }

   .updates-right h2 {
      font-size: 24px;
   }

   .tab-content {
      max-height: 350px;
   }

   .twitter-feed {
      max-height: 350px;
   }

}



/* ===============================
   PARTNER LOGOS SECTION
================================= */

.partner-logos-section {
   padding: 80px 40px;
   background: #ffffff;
}

/* HEADING */

.partner-heading {
   text-align: center;
   margin-bottom: 50px;
}

.partner-heading h2 {
   font-size: 46px;
   color: #003b7a;
   margin-bottom: 15px;
   font-weight: bold;
}

.partner-heading p {
   font-size: 20px;
   color: #666;
}

/* GRID */

.partner-logos-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
   gap: 30px;
   align-items: stretch;
}

/* CARD */

.partner-logo-card {
   background: #ffffff;
   border: 1px solid #edf2f7;
   padding: 30px 20px;
   border-radius: 20px;
   text-align: center;
   box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02);
   transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   min-height: 250px;
   text-decoration: none !important;
}

.partner-logo-card:hover {
   transform: translateY(-8px);
   box-shadow: 0 20px 40px rgba(0, 59, 122, 0.08);
   border-color: rgba(0, 59, 122, 0.15);
}

/* LOGO WRAPPER */

.partner-logo-wrapper {
   width: 100%;
   height: 120px;
   display: flex;
   align-items: center;
   justify-content: center;
   margin-bottom: 20px;
   background: transparent;
   overflow: hidden;
}

.partner-logo-wrapper img {
   max-width: 100%;
   max-height: 100%;
   object-fit: contain;
   transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.partner-logo-card:hover .partner-logo-wrapper img {
   transform: scale(1.06);
}

/* TITLE */

.partner-logo-card h3 {
   font-size: 16px;
   color: #1e293b;
   font-weight: 700;
   margin: auto 0 0 0;
   line-height: 1.4;
   transition: color 0.3s ease;
}

.partner-logo-card:hover h3 {
   color: #003b7a;
}

/* ===============================
   MOBILE
================================= */

@media(max-width:768px) {

   .partner-logos-section {
      padding: 60px 20px;
   }

   .partner-heading h2 {
      font-size: 34px;
   }

   .partner-heading p {
      font-size: 17px;
   }

   .partner-logos-grid {
      grid-template-columns: repeat(2, 1fr);
      gap: 20px;
   }

   .partner-logo-card {
      padding: 20px 15px;
      min-height: 200px;
      border-radius: 16px;
   }

   .partner-logo-wrapper {
      height: 90px;
      margin-bottom: 12px;
   }

   .partner-logo-card h3 {
      font-size: 14.5px;
   }

}

@media(max-width:500px) {

   .partner-logos-grid {
      grid-template-columns: 1fr;
   }

}




/* =========================
   RESPONSIVE TABLE
========================= */

.table-responsive {
   width: 100%;
   overflow-x: auto;
   overflow-y: auto;
   max-height: 420px;
   border-radius: 10px;
}

/* SCROLLBAR */

.table-responsive::-webkit-scrollbar {
   height: 8px;
   width: 8px;
}

.table-responsive::-webkit-scrollbar-track {
   background: #f1f1f1;
   border-radius: 10px;
}

.table-responsive::-webkit-scrollbar-thumb {
   background: #003b7a;
   border-radius: 10px;
}

/* TABLE */

.recruitment-table {
   width: 100%;
   border-collapse: collapse;
   min-width: 900px;
   background: #fff;
}

/* HEADER */

.recruitment-table thead {
   background: #003b7a;
   color: #fff;
   position: sticky;
   top: 0;
   z-index: 2;
}

.recruitment-table th {
   padding: 18px;
   font-size: 17px;
   text-align: left;
   white-space: nowrap;
}

/* BODY */

.recruitment-table td {
   padding: 18px;
   border-bottom: 1px solid #ddd;
   font-size: 16px;
   vertical-align: top;
}

/* ROW HOVER */

.recruitment-table tbody tr:hover {
   background: #f5f9ff;
}

/* DOWNLOAD BUTTON */

.recruitment-table td a {
   background: #003b7a;
   color: #fff;
   padding: 10px 18px;
   text-decoration: none;
   border-radius: 6px;
   font-size: 14px;
   font-weight: bold;
   display: inline-block;
   white-space: nowrap;
}

.recruitment-table td a:hover {
   background: #001d42;
}

/* MOBILE */

@media(max-width:768px) {

   .recruitment-table th,
   .recruitment-table td {
      padding: 14px;
      font-size: 14px;
   }

   .recruitment-table td a {
      padding: 8px 14px;
      font-size: 13px;
   }

}


/* =========================
   DOCUMENTS TABLE
========================= */

.docs-table-wrapper {
   width: 100%;
   overflow-x: auto;
   overflow-y: auto;
   max-height: 420px;
   border-radius: 10px;
}

/* SCROLLBAR */

.docs-table-wrapper::-webkit-scrollbar {
   width: 8px;
   height: 8px;
}

.docs-table-wrapper::-webkit-scrollbar-track {
   background: #f1f1f1;
   border-radius: 10px;
}

.docs-table-wrapper::-webkit-scrollbar-thumb {
   background: #003b7a;
   border-radius: 10px;
}

/* TABLE */

.docs-table {
   width: 100%;
   border-collapse: collapse;
   background: #fff;
   min-width: 700px;
}

/* HEADER */

.docs-table thead {
   background: #003b7a;
   color: #fff;
   position: sticky;
   top: 0;
   z-index: 2;
}

.docs-table th {
   padding: 18px;
   font-size: 17px;
   text-align: left;
   white-space: nowrap;
}

/* BODY */

.docs-table td {
   padding: 18px;
   border-bottom: 1px solid #ddd;
   font-size: 16px;
   vertical-align: top;
   line-height: 1.7;
}

/* HOVER */

.docs-table tbody tr:hover {
   background: #f5f9ff;
}

/* DOWNLOAD BUTTON */

.docs-table td a {
   background: #003b7a;
   color: #fff;
   padding: 10px 18px;
   text-decoration: none;
   border-radius: 6px;
   font-size: 14px;
   font-weight: bold;
   display: inline-block;
   white-space: nowrap;
   transition: 0.3s;
}

.docs-table td a:hover {
   background: #001d42;
}

/* MOBILE */

@media(max-width:768px) {

   .docs-table th,
   .docs-table td {
      padding: 14px;
      font-size: 14px;
   }

   .docs-table td a {
      padding: 8px 14px;
      font-size: 13px;
   }

}

.cards {
   padding: 60px 40px;
   display: flex;
   justify-content: center;
}

.card {
   background: #fff;
   padding: 35px 30px;
   border-radius: 20px;
   text-align: center;
   max-width: 350px;
   box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
   transition: 0.3s;
}

.card:hover {
   transform: translateY(-8px);
}

.card img {
   width: 90px;
   height: 90px;
   object-fit: contain;
   margin-bottom: 20px;
}

.card h3 {
   font-size: 28px;
   color: #003b7a;
   margin-bottom: 15px;
}

.card p {
   font-size: 17px;
   line-height: 1.8;
   color: #555;
}

.home-wrapper {
   height: 100vh;
   width: 100vw;
   display: flex;
   flex-direction: column;
}

.home-wrapper.collapsed {
   height: auto;
}

a.partner-logo-card {
   text-decoration: none;
   color: inherit;
   display: flex;
   /* or whatever display the card uses */
   flex-direction: column;
   align-items: center;
}

a.partner-logo-card:hover {
   text-decoration: none;
}

/* ======== SPA VIEW SYSTEM ======== */
.page-view {
   display: none;
}

.page-view.active {
   display: block;
}

/* ======== ABOUT DJB — PROFESSIONAL REDESIGN ======== */

/* Page background with subtle gradient */
#page-about .about-section {
   padding: 0;
   background: #f0f4fb;
   font-family: 'Segoe UI', Arial, sans-serif;
}

/* ── HERO BANNER ── */
.about-hero {
   background: linear-gradient(135deg, #003b7a 0%, #005bb5 50%, #0070cc 100%);
   color: #fff;
   padding: 56px 60px 48px;
   position: relative;
   overflow: hidden;
}

.about-hero::before {
   content: '';
   position: absolute;
   inset: 0;
   background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Ccircle cx='30' cy='30' r='28'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") repeat;
   pointer-events: none;
}

.about-hero-inner {
   position: relative;
   z-index: 1;
   display: flex;
   align-items: center;
   gap: 28px;
}

.about-hero-icon {
   width: 72px;
   height: 72px;
   background: rgba(255, 255, 255, 0.15);
   border: 2px solid rgba(255, 255, 255, 0.3);
   border-radius: 18px;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 34px;
   flex-shrink: 0;
   backdrop-filter: blur(4px);
}

.about-hero h1 {
   font-size: 36px;
   font-weight: 800;
   letter-spacing: -0.3px;
   margin: 0 0 6px;
}

.about-hero p.about-hero-sub {
   font-size: 15px;
   opacity: 0.82;
   margin: 0;
   font-weight: 400;
}

/* breadcrumb */
.about-breadcrumb {
   font-size: 13px;
   opacity: 0.7;
   margin-bottom: 10px;
   letter-spacing: 0.03em;
}

.about-breadcrumb span {
   opacity: 0.5;
   margin: 0 6px;
}

/* ── MAIN CONTENT AREA ── */
.about-body {
   display: grid;
   grid-template-columns: 1fr 320px;
   gap: 30px;
   padding: 40px 60px;
   align-items: start;
   max-width: 1280px;
   margin: 0 auto;
}

/* ── CARDS / SECTIONS ── */
.about-card {
   background: #fff;
   border-radius: 16px;
   padding: 32px 36px;
   box-shadow: 0 2px 16px rgba(0, 59, 122, 0.07);
   margin-bottom: 24px;
   border: 1px solid #e3eaf6;
   transition: box-shadow 0.2s;
}

.about-card:hover {
   box-shadow: 0 6px 28px rgba(0, 59, 122, 0.12);
}

/* Section label */
.about-section-label {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   background: #eef4ff;
   color: #003b7a;
   font-size: 12px;
   font-weight: 700;
   letter-spacing: 0.08em;
   text-transform: uppercase;
   padding: 4px 12px;
   border-radius: 20px;
   margin-bottom: 14px;
}

.about-section-label i {
   font-size: 11px;
}

.about-card h2 {
   font-size: 24px;
   color: #002a5c;
   font-weight: 800;
   margin: 0 0 16px;
   line-height: 1.25;
}

.about-card h3 {
   font-size: 18px;
   color: #003b7a;
   font-weight: 700;
   margin: 28px 0 10px;
   display: flex;
   align-items: center;
   gap: 8px;
}

.about-card h3::before {
   content: '';
   width: 4px;
   height: 18px;
   background: #003b7a;
   border-radius: 3px;
   flex-shrink: 0;
}

.about-card p {
   font-size: 15.5px;
   line-height: 1.85;
   color: #4a5568;
   margin-bottom: 14px;
   text-align: justify;
}

/* Intro card with logo side */
.about-intro-grid {
   display: grid;
   grid-template-columns: 1fr 200px;
   gap: 32px;
   align-items: center;
}

.about-logo-box {
   display: flex;
   justify-content: center;
   align-items: center;
   padding: 20px;
   background: #f7f9fd;
   border-radius: 14px;
   border: 1px solid #e0e9f7;
}

.about-logo-box img {
   max-width: 160px;
   max-height: 160px;
   object-fit: contain;
}

/* Services list */
.about-services-grid {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 12px;
   margin-top: 8px;
}

.about-service-item {
   display: flex;
   align-items: center;
   gap: 10px;
   background: #f7f9fd;
   border: 1px solid #e0e9f7;
   border-radius: 10px;
   padding: 12px 14px;
   font-size: 14px;
   color: #2d3748;
   font-weight: 500;
}

.about-service-item i {
   color: #003b7a;
   font-size: 15px;
   flex-shrink: 0;
   width: 20px;
   text-align: center;
}

/* ── SIDEBAR ── */
.about-sidebar {
   position: sticky;
   top: 20px;
}

.about-stat-card {
   background: linear-gradient(135deg, #003b7a, #005bb5);
   border-radius: 16px;
   padding: 28px 24px;
   color: #fff;
   margin-bottom: 20px;
   box-shadow: 0 8px 24px rgba(0, 59, 122, 0.25);
}

.about-stat-card h4 {
   font-size: 13px;
   letter-spacing: 0.1em;
   text-transform: uppercase;
   opacity: 0.75;
   margin: 0 0 18px;
   font-weight: 700;
}

.about-stat-item {
   display: flex;
   align-items: center;
   gap: 14px;
   margin-bottom: 18px;
}

.about-stat-item:last-child {
   margin-bottom: 0;
}

.about-stat-icon {
   width: 44px;
   height: 44px;
   background: rgba(255, 255, 255, 0.15);
   border-radius: 12px;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 18px;
   flex-shrink: 0;
}

.about-stat-num {
   font-size: 22px;
   font-weight: 800;
   line-height: 1;
}

.about-stat-lbl {
   font-size: 12px;
   opacity: 0.75;
   margin-top: 2px;
}

.about-quick-card {
   background: #fff;
   border-radius: 16px;
   padding: 24px;
   box-shadow: 0 2px 16px rgba(0, 59, 122, 0.07);
   border: 1px solid #e3eaf6;
   margin-bottom: 20px;
}

.about-quick-card h4 {
   font-size: 14px;
   font-weight: 800;
   color: #002a5c;
   margin: 0 0 16px;
   text-transform: uppercase;
   letter-spacing: 0.06em;
}

.about-quick-link {
   display: flex;
   align-items: center;
   gap: 10px;
   padding: 10px 0;
   border-bottom: 1px solid #f0f4fb;
   color: #003b7a;
   font-size: 14px;
   font-weight: 600;
   text-decoration: none;
   cursor: pointer;
   transition: color 0.18s, padding-left 0.18s;
}

.about-quick-link:last-child {
   border-bottom: none;
}

.about-quick-link:hover {
   color: #005bb5;
   padding-left: 6px;
}

.about-quick-link i {
   font-size: 13px;
   opacity: 0.7;
}

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
   .about-body {
      grid-template-columns: 1fr;
      padding: 30px 30px;
   }

   .about-sidebar {
      position: static;
   }
}

@media (max-width: 768px) {
   .about-hero {
      padding: 36px 20px 30px;
   }

   .about-hero h1 {
      font-size: 26px;
   }

   .about-body {
      padding: 20px 16px;
      gap: 20px;
   }

   .about-intro-grid {
      grid-template-columns: 1fr;
   }

   .about-logo-box {
      width: 120px;
      margin: 0 auto;
   }

   .about-services-grid {
      grid-template-columns: 1fr;
   }

   .about-card {
      padding: 22px 18px;
   }
}

/* ======== CATCH THE RAIN ======== */
.about-djb-page {
   padding: 60px 40px;
   background: #f4f6fb;
}

.about-flex {
   display: flex;
   gap: 40px;
   align-items: flex-start;
   margin-bottom: 40px;
   flex-wrap: wrap;
}

.about-left {
   flex: 1;
   min-width: 280px;
}

.about-right {
   flex: 0 0 280px;
}

.about-right img {
   width: 100%;
   border-radius: 12px;
   object-fit: contain;
}

.about-djb-page .about-heading {
   font-size: 34px;
   color: #003b7a;
   margin-bottom: 20px;
}

.about-djb-page p {
   font-size: 16px;
   line-height: 1.9;
   color: #444;
   margin-bottom: 14px;
   text-align: justify;
}

.about-djb-page h2 {
   font-size: 24px;
   color: #003b7a;
   margin: 24px 0 10px;
}

.about-djb-page ul {
   padding-left: 24px;
   margin-bottom: 14px;
}

.about-djb-page ul li {
   font-size: 16px;
   line-height: 2;
   color: #444;
}

@media(max-width:768px) {
   .about-flex {
      flex-direction: column;
   }

   .about-right {
      width: 100%;
   }
}

/* ======== JAL JEEVAN ======== */
.jj-section {
   padding: 60px 40px;
   background: #f4f6fb;
}

.jj-container {
   display: flex;
   gap: 40px;
   align-items: flex-start;
   margin-bottom: 40px;
   flex-wrap: wrap;
}

.jj-content {
   flex: 1;
   min-width: 280px;
}

.jj-image {
   flex: 0 0 280px;
}

.jj-image img {
   width: 100%;
   border-radius: 12px;
   object-fit: contain;
}

.jj-section h2 {
   font-size: 34px;
   color: #003b7a;
   margin-bottom: 20px;
}

.jj-section p {
   font-size: 16px;
   line-height: 1.9;
   color: #444;
   margin-bottom: 14px;
   text-align: justify;
}

.jj-section h3 {
   font-size: 22px;
   color: #003b7a;
   margin: 24px 0 10px;
}

.jj-section ul {
   padding-left: 24px;
   margin-bottom: 14px;
}

.jj-section ul li {
   font-size: 16px;
   line-height: 2;
   color: #444;
}

@media(max-width:768px) {
   .jj-container {
      flex-direction: column;
   }

   .jj-image {
      width: 100%;
   }
}

/* ======== GALLERY PAGE — PROFESSIONAL REDESIGN ======== */
#page-gallery-page .gallery-section {
   padding: 0;
   background: #f0f4fb;
}

/* Filter bar */
.gallery-filter-bar {
   display: flex;
   align-items: center;
   gap: 10px;
   padding: 24px 60px 0;
   flex-wrap: wrap;
}

.gallery-filter-btn {
   padding: 8px 20px;
   border-radius: 30px;
   border: 2px solid #003b7a;
   background: #fff;
   color: #003b7a;
   font-size: 13.5px;
   font-weight: 700;
   cursor: pointer;
   transition: background 0.2s, color 0.2s, transform 0.15s;
}

.gallery-filter-btn.active,
.gallery-filter-btn:hover {
   background: #003b7a;
   color: #fff;
   transform: translateY(-1px);
}

/* Grid */
.gallery-grid-wrap {
   padding: 28px 60px 50px;
}

.gallery-grid {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 22px;
}

/* Card */
.gallery-card-pro {
   border-radius: 16px;
   overflow: hidden;
   background: #fff;
   box-shadow: 0 3px 16px rgba(0, 59, 122, 0.10);
   border: 1px solid #e3eaf6;
   cursor: pointer;
   transition: transform 0.22s, box-shadow 0.22s;
   position: relative;
}

.gallery-card-pro:hover {
   transform: translateY(-5px);
   box-shadow: 0 12px 32px rgba(0, 59, 122, 0.18);
}

.gallery-card-pro .gc-img-wrap {
   position: relative;
   overflow: hidden;
   height: 220px;
}

.gallery-card-pro .gc-img-wrap img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
   transition: transform 0.4s ease;
}

.gallery-card-pro:hover .gc-img-wrap img {
   transform: scale(1.06);
}

/* Overlay on hover */
.gallery-card-pro .gc-overlay {
   position: absolute;
   inset: 0;
   background: linear-gradient(to top, rgba(0, 27, 77, 0.75) 0%, transparent 60%);
   opacity: 0;
   transition: opacity 0.25s;
   display: flex;
   align-items: flex-end;
   justify-content: center;
   padding-bottom: 16px;
}

.gallery-card-pro:hover .gc-overlay {
   opacity: 1;
}

.gc-overlay-icon {
   background: rgba(255, 255, 255, 0.9);
   border-radius: 50%;
   width: 42px;
   height: 42px;
   display: flex;
   align-items: center;
   justify-content: center;
   color: #003b7a;
   font-size: 16px;
}

/* Card footer */
.gallery-card-pro .gc-footer {
   padding: 14px 16px 16px;
}

.gc-footer-title {
   font-size: 14.5px;
   font-weight: 700;
   color: #002a5c;
   margin: 0 0 4px;
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
}

.gc-footer-caption {
   font-size: 12.5px;
   color: #718096;
}

/* Count badge */
.gc-count-badge {
   position: absolute;
   top: 12px;
   left: 12px;
   background: rgba(0, 59, 122, 0.82);
   color: #fff;
   font-size: 11px;
   font-weight: 700;
   padding: 3px 10px;
   border-radius: 20px;
   letter-spacing: 0.04em;
   backdrop-filter: blur(4px);
}

/* Lightbox */
.gallery-lightbox {
   display: none;
   position: fixed;
   inset: 0;
   background: rgba(0, 0, 0, 0.92);
   z-index: 999999;
   align-items: center;
   justify-content: center;
}

.gallery-lightbox.active {
   display: flex;
}

.gallery-lightbox img {
   max-width: 90vw;
   max-height: 85vh;
   border-radius: 10px;
   box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6);
}

.lb-close {
   position: absolute;
   top: 22px;
   right: 28px;
   color: #fff;
   font-size: 32px;
   cursor: pointer;
   background: rgba(255, 255, 255, 0.12);
   border: none;
   border-radius: 50%;
   width: 48px;
   height: 48px;
   display: flex;
   align-items: center;
   justify-content: center;
   transition: background 0.2s;
}

.lb-close:hover {
   background: rgba(255, 255, 255, 0.25);
}

.lb-prev,
.lb-next {
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   background: rgba(255, 255, 255, 0.12);
   border: none;
   color: #fff;
   font-size: 22px;
   width: 52px;
   height: 52px;
   border-radius: 50%;
   cursor: pointer;
   display: flex;
   align-items: center;
   justify-content: center;
   transition: background 0.2s;
}

.lb-prev {
   left: 24px;
}

.lb-next {
   right: 24px;
}

.lb-prev:hover,
.lb-next:hover {
   background: rgba(255, 255, 255, 0.25);
}

.lb-caption {
   position: absolute;
   bottom: 24px;
   left: 50%;
   transform: translateX(-50%);
   color: #fff;
   font-size: 15px;
   font-weight: 600;
   background: rgba(0, 0, 0, 0.5);
   padding: 8px 22px;
   border-radius: 30px;
   white-space: nowrap;
   backdrop-filter: blur(6px);
}

@media (max-width: 1024px) {
   .gallery-grid {
      grid-template-columns: repeat(2, 1fr);
   }

   .gallery-grid-wrap,
   .gallery-filter-bar {
      padding-left: 30px;
      padding-right: 30px;
   }
}

@media (max-width: 600px) {
   .gallery-grid {
      grid-template-columns: 1fr;
   }

   .gallery-grid-wrap,
   .gallery-filter-bar {
      padding-left: 16px;
      padding-right: 16px;
   }

   .gallery-card-pro .gc-img-wrap {
      height: 200px;
   }
}

/* ======== CONTACT PAGE ======== */
.contact-hero {
   background: linear-gradient(135deg, #003b7a, #0066cc);
   color: #fff;
   padding: 80px 40px;
   text-align: center;
}

.contact-hero h1 {
   font-size: 46px;
   margin-bottom: 18px;
}

.contact-hero p {
   font-size: 20px;
   max-width: 700px;
   margin: auto;
   line-height: 1.8;
}

.contact-section {
   padding: 70px 40px;
   background: #f4f6fb;
}

.contact-container {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 40px;
   max-width: 1100px;
   margin: auto;
}

.info-card {
   display: flex;
   gap: 20px;
   align-items: flex-start;
   background: #fff;
   padding: 25px;
   border-radius: 14px;
   margin-bottom: 20px;
   box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.info-icon {
   width: 52px;
   height: 52px;
   border-radius: 50%;
   background: #003b7a;
   display: flex;
   align-items: center;
   justify-content: center;
   color: #fff;
   font-size: 22px;
   flex-shrink: 0;
}

.info-text h3 {
   font-size: 20px;
   color: #003b7a;
   margin-bottom: 8px;
}

.info-text p {
   font-size: 16px;
   line-height: 1.8;
   color: #555;
}

.contact-form h2 {
   font-size: 32px;
   color: #003b7a;
   margin-bottom: 25px;
}

.officer-box {
   display: flex;
   flex-direction: column;
   gap: 20px;
}

.officer-card {
   background: #fff;
   border-radius: 14px;
   padding: 32px;
   box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.officer-card h3 {
   font-size: 20px;
   color: #003b7a;
   margin-bottom: 12px;
   display: flex;
   align-items: center;
   gap: 10px;
}

.officer-card p {
   font-size: 15px;
   line-height: 1.9;
   color: #555;
   margin-bottom: 12px;
}

.contact-line {
   display: flex;
   align-items: center;
   gap: 10px;
   font-size: 15px;
   color: #333;
   margin-bottom: 8px;
}

.contact-line i {
   color: #003b7a;
   font-size: 16px;
}

@media(max-width:900px) {
   .contact-container {
      grid-template-columns: 1fr;
   }
}

@media(max-width:600px) {
   .contact-hero h1 {
      font-size: 32px;
   }

   .contact-section {
      padding: 50px 20px;
   }
}


/* ═══════════════════════════════════════════════════════════
   PROFESSIONAL NAVBAR REDESIGN — Full Override
   ═══════════════════════════════════════════════════════════ */

/* ── Sticky Navbar ── */
.navbar {
   position: sticky !important;
   top: 0 !important;
   z-index: 99999 !important;
   background: linear-gradient(90deg, #001f4d 0%, #003b7a 45%, #005bb5 100%) !important;
   padding: 0 52px !important;
   gap: 0 !important;
   flex-wrap: nowrap !important;
   box-shadow: 0 4px 24px rgba(0, 20, 70, 0.32) !important;
   border-bottom: 3px solid #1a6ec8 !important;
   min-height: 58px !important;
   align-items: stretch !important;
}

/* ── Nav direct links ── */
.navbar>a {
   padding: 0 18px !important;
   height: 58px !important;
   font-size: 13.5px !important;
   font-weight: 700 !important;
   letter-spacing: 0.025em !important;
   color: rgba(255, 255, 255, 0.88) !important;
   display: flex !important;
   align-items: center !important;
   gap: 7px !important;
   text-decoration: none !important;
   white-space: nowrap !important;
   position: relative !important;
   transition: color 0.2s, background 0.2s !important;
   border-radius: 0 !important;
}

.navbar>a::after {
   content: '';
   position: absolute;
   bottom: 0;
   left: 50%;
   right: 50%;
   height: 3px;
   background: #4fc3f7;
   border-radius: 3px 3px 0 0;
   transition: left 0.25s, right 0.25s;
}

.navbar>a:hover {
   color: #fff !important;
   background: rgba(255, 255, 255, 0.08) !important;
}

.navbar>a:hover::after {
   left: 12px;
   right: 12px;
}

/* ── Dropdown wrapper (only top-level) ── */
.navbar>.dropdown {
   position: relative !important;
   height: 58px !important;
   display: flex !important;
   align-items: stretch !important;
}

/* sub-dropdown wrapper reset */
.dropdown-content .sub-dropdown {
   height: auto !important;
   position: relative !important;
   display: block !important;
}

/* ── Dropdown button (ONLY top-level navbar buttons, NOT sub-dropbtn) ── */
.navbar>.dropdown>.dropbtn {
   height: 58px !important;
   padding: 0 18px !important;
   font-size: 13.5px !important;
   font-weight: 700 !important;
   letter-spacing: 0.025em !important;
   color: rgba(255, 255, 255, 0.88) !important;
   background: none !important;
   border: none !important;
   cursor: pointer !important;
   display: flex !important;
   align-items: center !important;
   gap: 7px !important;
   white-space: nowrap !important;
   position: relative !important;
   transition: color 0.2s, background 0.2s !important;
   font-family: inherit !important;
}

.navbar>.dropdown>.dropbtn::after {
   content: '';
   position: absolute;
   bottom: 0;
   left: 50%;
   right: 50%;
   height: 3px;
   background: #4fc3f7;
   border-radius: 3px 3px 0 0;
   transition: left 0.25s, right 0.25s;
}

.navbar>.dropdown:hover>.dropbtn {
   color: #fff !important;
   background: rgba(255, 255, 255, 0.08) !important;
}

.navbar>.dropdown:hover>.dropbtn::after {
   left: 12px;
   right: 12px;
}

.navbar>.dropdown>.dropbtn .fa-angle-down {
   transition: transform 0.25s !important;
}

.navbar>.dropdown:hover>.dropbtn .fa-angle-down {
   transform: rotate(180deg) !important;
}

/* ── Sub-dropdown button reset (it has class="dropbtn sub-dropbtn") ── */
.dropdown-content .sub-dropbtn,
.dropdown-content .dropbtn.sub-dropbtn {
   height: auto !important;
   padding: 13px 20px 13px 18px !important;
   font-size: 13.5px !important;
   font-weight: 600 !important;
   letter-spacing: 0 !important;
   color: #1a2d4e !important;
   background: #fff !important;
   border: none !important;
   border-bottom: 1px solid #f0f4fb !important;
   border-left: 3px solid transparent !important;
   display: flex !important;
   align-items: center !important;
   justify-content: space-between !important;
   cursor: pointer !important;
   width: 100% !important;
   white-space: normal !important;
   position: static !important;
   transition: background 0.15s, border-color 0.15s, color 0.15s !important;
   font-family: inherit !important;
}

.dropdown-content .sub-dropbtn::after,
.dropdown-content .dropbtn.sub-dropbtn::after {
   display: none !important;
}

.dropdown-content .sub-dropbtn:hover,
.dropdown-content .sub-dropdown.active .sub-dropbtn {
   background: #eef4ff !important;
   color: #003b7a !important;
   border-left-color: #003b7a !important;
}

/* ── Dropdown Panel ── */
.dropdown-content {
   display: none !important;
   position: absolute !important;
   top: 100% !important;
   left: 0 !important;
   background: #fff !important;
   min-width: 220px !important;
   border-radius: 0 0 14px 14px !important;
   overflow: visible !important;
   box-shadow: 0 16px 44px rgba(0, 20, 70, 0.18) !important;
   z-index: 999999 !important;
   border-top: 3px solid #003b7a !important;
   animation: dropFadeIn 0.18s ease forwards !important;
}

@keyframes dropFadeIn {
   from {
      opacity: 0;
      transform: translateY(-6px);
   }

   to {
      opacity: 1;
      transform: translateY(0);
   }
}

.dropdown:hover .dropdown-content {
   display: block !important;
}

/* ── Dropdown Links ── */
.dropdown-content a {
   padding: 13px 20px 13px 18px !important;
   font-size: 13.5px !important;
   font-weight: 600 !important;
   color: #1a2d4e !important;
   display: flex !important;
   align-items: center !important;
   gap: 10px !important;
   border-bottom: 1px solid #f0f4fb !important;
   border-left: 3px solid transparent !important;
   transition: background 0.15s, border-color 0.15s, color 0.15s !important;
   text-decoration: none !important;
   height: auto !important;
}

.dropdown-content a:hover {
   background: #eef4ff !important;
   color: #003b7a !important;
   border-left-color: #003b7a !important;
}

.dropdown-content a:last-child {
   border-bottom: none !important;
}

/* ── Sub-dropdown button ── */
.sub-dropbtn {
   padding: 13px 20px 13px 18px !important;
   font-size: 13.5px !important;
   font-weight: 600 !important;
   color: #1a2d4e !important;
   background: #fff !important;
   border: none !important;
   border-bottom: 1px solid #f0f4fb !important;
   border-left: 3px solid transparent !important;
   display: flex !important;
   align-items: center !important;
   justify-content: space-between !important;
   cursor: pointer !important;
   width: 100% !important;
   transition: background 0.15s, border-color 0.15s, color 0.15s !important;
   font-family: inherit !important;
}

.sub-dropbtn:hover,
.sub-dropdown.active .sub-dropbtn {
   background: #eef4ff !important;
   color: #003b7a !important;
   border-left-color: #003b7a !important;
}

/* ── Sub-dropdown panel ── */
.sub-dropdown-content {
   display: none !important;
   position: absolute !important;
   left: 100% !important;
   top: 0 !important;
   background: #fff !important;
   min-width: 210px !important;
   border-radius: 0 14px 14px 14px !important;
   overflow: hidden !important;
   box-shadow: 0 12px 36px rgba(0, 20, 70, 0.16) !important;
   z-index: 9999999 !important;
   border-top: 3px solid #0077cc !important;
   animation: dropFadeIn 0.15s ease forwards !important;
}

.sub-dropdown:hover .sub-dropdown-content,
.sub-dropdown.active .sub-dropdown-content {
   display: block !important;
}

.sub-dropdown-content a {
   padding: 13px 18px !important;
   font-size: 13px !important;
   font-weight: 600 !important;
   color: #1a2d4e !important;
   border-bottom: 1px solid #f0f4fb !important;
   border-left: 3px solid transparent !important;
   transition: background 0.15s, border-color 0.15s !important;
   display: block !important;
   text-decoration: none !important;
}

.sub-dropdown-content a:hover {
   background: #eef4ff !important;
   border-left-color: #0077cc !important;
   color: #003b7a !important;
}

/* ── Topbar enhancements ── */
.topbar {
   background: #fff !important;
   border-bottom: 2px solid #e3eaf6 !important;
   box-shadow: 0 2px 12px rgba(0, 59, 122, 0.07) !important;
   padding: 12px 22px !important;
}

.gov h2 {
   color: #002a5c !important;
   font-weight: 800 !important;
}

.gov p {
   color: #5a7a9e !important;
}

.login-btn {
   background: linear-gradient(135deg, #003b7a, #0060c7) !important;
   padding: 9px 20px !important;
   border-radius: 30px !important;
   font-size: 13px !important;
   font-weight: 700 !important;
   box-shadow: 0 3px 10px rgba(0, 59, 122, 0.22) !important;
   transition: transform 0.18s, box-shadow 0.18s !important;
}

.login-btn:hover {
   transform: translateY(-2px) !important;
   box-shadow: 0 6px 18px rgba(0, 59, 122, 0.32) !important;
}

.register-btn {
   background: linear-gradient(135deg, #00a651, #00c060) !important;
   padding: 9px 20px !important;
   border-radius: 30px !important;
   font-size: 13px !important;
   font-weight: 700 !important;
   box-shadow: 0 3px 10px rgba(0, 150, 70, 0.22) !important;
   transition: transform 0.18s, box-shadow 0.18s !important;
}

.register-btn:hover {
   transform: translateY(-2px) !important;
   box-shadow: 0 6px 18px rgba(0, 150, 70, 0.32) !important;
}

/* ── Responsive ── */
@media (min-width: 1600px) {
   .navbar {
      padding: 0 0 !important;
   }

   .navbar>a,
   .dropbtn {
      font-size: 15px !important;
      padding: 0 22px !important;
   }
}

@media (max-width: 1200px) {
   .navbar {
      padding: 0 22px !important;
   }

   .navbar>a,
   .dropbtn {
      font-size: 13px !important;
      padding: 0 13px !important;
   }
}

@media (max-width: 992px) {
   .navbar {
      flex-wrap: wrap !important;
      padding: 10px 16px !important;
      height: auto !important;
      min-height: auto !important;
      align-items: flex-start !important;
   }

   /*.navbar>a,*/
   /*.dropdown,*/
   /*.dropbtn {*/
   /*   height: auto !important;*/
   /*   padding: 12px 14px !important;*/
   /*}*/

   .dropbtn::after,
   .navbar>a::after {
      display: none !important;
   }
}

@media (max-width: 768px) {
   .navbar {
      flex-direction: column !important;
      padding: 10px 14px !important;
   }

   .navbar>a,
   .dropbtn {
      width: 100% !important;
      justify-content: space-between !important;
      padding: 14px 4px !important;
      font-size: 15px !important;
   }

   .dropdown {
      height: auto !important;
      width: 100% !important;
   }

   .dropdown-content {
      position: static !important;
      border-radius: 10px !important;
      margin: 4px 0 8px !important;
      box-shadow: none !important;
      border: 1px solid #e3eaf6 !important;
      border-top: 3px solid #003b7a !important;
      animation: none !important;
   }

   .sub-dropdown-content {
      position: static !important;
      border-radius: 8px !important;
      margin-top: 4px !important;
      box-shadow: none !important;
      border: 1px solid #e8eeff !important;
      animation: none !important;
   }
}

/* ── Font ── */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

/* Apply Inter font to text elements only — NOT icon elements */
body,
p,
h1,
h2,
h3,
h4,
h5,
h6,
a,
span,
button,
input,
textarea,
select,
label,
div,
li,
ul,
ol,
td,
th,
caption,
blockquote,
pre,
section,
article,
aside,
header,
footer,
nav,
main,
.navbar,
.topbar,
.dropdown-content,
.sub-dropdown-content {
   font-family: 'Inter', Arial, sans-serif !important;
}

/* Restore Font Awesome icon fonts — never override these */
i.fa,
i.fas,
i.far,
i.fab,
i.fal,
i.fad,
i.fa-solid,
i.fa-regular,
i.fa-brands,
i.fa-light,
i.fa-thin,
i.fa-duotone,
.fa,
.fas,
.far,
.fab,
.fal,
.fad,
[class^="fa-"],
[class*=" fa-"] {
   font-family: 'Font Awesome 6 Free', 'Font Awesome 6 Brands', 'FontAwesome' !important;
}


/* ── Dark footer gradient (from clean redesign) ── */
.main-footer {
   background: linear-gradient(180deg, #002050, #001535) !important;
   margin-top: 0 !important;
}

.footer-top {
   padding: 56px 70px !important;
   gap: 40px !important;
}

.footer-box h3 {
   font-size: 18px !important;
   font-weight: 800 !important;
   color: #fff !important;
   margin-bottom: 20px !important;
   padding-bottom: 10px;
   border-bottom: 2px solid rgba(79, 195, 247, 0.35);
}

.footer-box p,
.footer-box ul li {
   font-size: 14px !important;
   color: rgba(255, 255, 255, 0.75) !important;
}

.footer-box ul li {
   margin-bottom: 12px !important;
}

.footer-box ul li a {
   color: rgba(255, 255, 255, 0.75) !important;
   transition: color 0.18s;
}

.footer-box ul li a:hover {
   color: #4fc3f7 !important;
}

.footer-box ul li i {
   color: #4fc3f7 !important;
}

.footer-bottom {
   background: rgba(0, 0, 0, 0.35) !important;
   padding: 22px 60px !important;
   border-top: 1px solid rgba(255, 255, 255, 0.08);
   font-size: 13px !important;
}

.left-copy span a {
   color: #4fc3f7 !important;
}

/* ── Empanelled Agencies Premium Button ── */
.empanelled-link-btn {
   margin-left: auto !important;
   align-self: center !important;
   margin-right: 24px !important;
   background: linear-gradient(135deg, #00a651, #00c060) !important;
   color: #fff !important;
   padding: 10px 24px !important;
   font-size: 14px !important;
   font-weight: 700 !important;
   text-transform: uppercase !important;
   letter-spacing: 0.05em !important;
   border-radius: 30px !important;
   text-decoration: none !important;
   box-shadow: 0 4px 12px rgba(0, 166, 81, 0.25) !important;
   transition: transform 0.2s, box-shadow 0.2s, background 0.2s !important;
   align-items: center !important;
   gap: 8px !important;
}

.empanelled-link-btn:hover {
   transform: translateY(-2px) !important;
   background: linear-gradient(135deg, #00b95a, #00d96d) !important;
   box-shadow: 0 6px 18px rgba(0, 166, 81, 0.35) !important;
   color: #fff !important;
}

.empanelled-link-btn:active {
   transform: translateY(0) !important;
}

.empanelled-link-btn i {
   font-size: 15px !important;
}

/* ═══════════════════════════════════════════════════════════
   COMPREHENSIVE RESPONSIVE DESIGN SYSTEM OVERRIDES
   ═══════════════════════════════════════════════════════════ */

/* ── Mobile Menu Toggle ── */
.mobile-menu-toggle {
   display: none;
   background: linear-gradient(90deg, #001f4d 0%, #003b7a 100%);
   color: #fff;
   padding: 14px 24px;
   font-size: 15px;
   font-weight: 700;
   letter-spacing: 0.05em;
   text-transform: uppercase;
   cursor: pointer;
   text-align: center;
   border-bottom: 3px solid #1a6ec8;
   box-shadow: 0 4px 15px rgba(0, 31, 77, 0.15);
   transition: background 0.3s;
   align-items: center;
   justify-content: center;
   gap: 8px;
}

.mobile-menu-toggle:hover {
   background: linear-gradient(90deg, #002d6b 0%, #004ea3 100%);
}

/* ── Info Cards Grid Fixing — Overrides conflicting styles ── */
.cards {
   display: grid !important;
   grid-template-columns: repeat(4, 1fr) !important;
   gap: 24px !important;
   padding: 56px 60px !important;
   background: linear-gradient(180deg, #f0f4fb 0%, #e8f2ff 100%) !important;
   width: 100% !important;
   height: auto !important;
   max-width: 100% !important;
}

.card {
   max-width: 100% !important;
   height: auto !important;
   min-height: 320px !important;
   margin: 0 !important;
   display: flex !important;
   flex-direction: column !important;
}

/* ── Breakpoints ── */

/* LAPTOPS & TABLETS (max-width: 1200px) */
@media (max-width: 1200px) {
   .cards {
      grid-template-columns: repeat(2, 1fr) !important;
      padding: 40px !important;
   }
   
   .card {
      min-height: 280px !important;
   }

   .gallery-grid {
      grid-template-columns: repeat(2, 1fr) !important;
   }
}

/* TABLETS (max-width: 992px) */
@media (max-width: 992px) {
   .mobile-menu-toggle {
      display: flex;
   }

   .navbar {
      display: none !important;
      flex-direction: column !important;
      width: 100% !important;
      padding: 10px 20px !important;
      background: #00224d !important;
      position: static !important;
   }

   .navbar.nav-open {
      display: flex !important;
   }

   .navbar > a,
   .navbar > .dropdown > .dropbtn {
      width: 100% !important;
      height: auto !important;
      padding: 14px 10px !important;
      border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
      justify-content: space-between !important;
   }

   .navbar > a::after,
   .navbar > .dropdown > .dropbtn::after {
      display: none !important;
   }

   .dropdown-content {
      position: static !important;
      width: 100% !important;
      box-shadow: none !important;
      border-radius: 8px !important;
      margin-top: 5px !important;
      border-left: 2px solid #4fc3f7 !important;
      background: rgba(255, 255, 255, 0.03) !important;
   }

   .dropdown-content::after,
   .dropdown-content::before {
      display: none !important;
   }

   .dropdown-content a {
      color: rgba(255, 255, 255, 0.85) !important;
      border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
      background: transparent !important;
   }

   .dropdown-content a:hover {
      background: rgba(79, 195, 247, 0.1) !important;
      color: #fff !important;
   }

   .sub-dropdown-content {
      position: static !important;
      width: 100% !important;
      box-shadow: none !important;
      border-radius: 8px !important;
      margin-top: 5px !important;
      border-left: 2px solid #00a651 !important;
      background: rgba(255, 255, 255, 0.03) !important;
   }

   .sub-dropdown-content::before {
      display: none !important;
   }

   .sub-dropdown-content a {
      color: rgba(255, 255, 255, 0.8) !important;
      border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
   }

   .sub-dropbtn,
   .dropdown-content .sub-dropbtn,
   .dropdown-content .dropbtn.sub-dropbtn {
      background: transparent !important;
      color: rgba(255, 255, 255, 0.85) !important;
      border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
   }

   .sub-dropbtn:hover,
   .dropdown-content .sub-dropbtn:hover {
      background: rgba(79, 195, 247, 0.1) !important;
      color: #fff !important;
   }
}

/* PORTRAIT TABLETS & SMARTPHONES (max-width: 768px) */
@media (max-width: 768px) {
   body {
      padding-bottom: 60px !important; /* Spacing for the responsive bottom app bar */
   }

   /* Empanelled Button mobile styling */
   .empanelled-link-btn {
      margin: 10px auto 16px !important;
      width: fit-content !important;
      justify-content: center !important;
      align-self: center !important;
      margin-right: auto !important;
   }

   /* Header / Topbar Responsive Overhaul */
   .topbar {
      flex-direction: column !important;
      padding: 16px 16px !important;
      gap: 16px !important;
      align-items: center !important;
      text-align: center !important;
   }

   .gov {
      width: 100% !important;
      height: auto !important;
      flex-direction: row !important;
      justify-content: center !important;
      align-items: center !important;
      gap: 12px !important;
   }

   .logo {
      height: 48px !important;
      width: auto !important;
   }

   .gov-text {
      text-align: left !important;
   }

   .gov h2 {
      font-size: 18px !important;
      line-height: 1.2 !important;
   }

   .gov p {
      font-size: 12px !important;
      line-height: 1.2 !important;
   }

   .top-right {
      width: 100% !important;
      flex-direction: column !important;
      gap: 12px !important;
      align-items: stretch !important;
   }

   .search {
      width: 100% !important;
      padding: 10px 20px !important;
   }

   .auth-buttons {
      width: 100% !important;
      justify-content: space-between !important;
      gap: 10px !important;
   }

   .login-btn,
   .register-btn {
      flex: 1 !important;
      justify-content: center !important;
      padding: 12px 16px !important;
      font-size: 13.5px !important;
   }

   /* Hero Section Slider Fixing */
   .home-wrapper {
      height: auto !important;
   }

   .hero-slider {
      height: 240px !important;
   }

   /* Leaders Section Responsive Stacking */
   .leader-slide {
      flex-direction: column !important;
      padding: 32px 24px !important;
      gap: 24px !important;
      text-align: center !important;
   }

   .leader-slide::before {
      width: 100% !important;
      height: 5px !important;
      background: linear-gradient(90deg, #003b7a, #0077cc) !important;
      border-radius: 4px 4px 0 0 !important;
   }

   .leader-image img {
      width: 140px !important;
      height: 140px !important;
   }

   .leader-content::before {
      display: none !important; /* Hide quote symbol behind content */
   }

   .leader-content h2 {
      font-size: 20px !important;
      line-height: 1.4 !important;
   }

   .leader-content p {
      font-size: 14px !important;
      line-height: 1.6 !important;
   }

   .leader-content h3 {
      font-size: 16px !important;
      margin-top: 12px !important;
   }

   .leader-content span {
      font-size: 12px !important;
   }

   /* Mobile Navigation Arrows for Leader Slider */
   .leader-btn {
      width: 36px !important;
      height: 36px !important;
      font-size: 14px !important;
   }

   .prev-leader {
      left: 10px !important;
   }

   .next-leader {
      right: 10px !important;
   }

   .leaders-carousel {
      padding: 30px 10px !important;
   }

   /* Info Cards Mobile Grid Stacking */
   .cards {
      grid-template-columns: 1fr !important;
      padding: 36px 16px !important;
      gap: 20px !important;
   }

   .card {
      min-height: auto !important;
      padding: 24px 20px !important;
   }

   .card h3 {
      font-size: 22px !important;
   }

   .card p {
      font-size: 15px !important;
      margin-bottom: 12px !important;
   }

   /* Social Sidebar -> Bottom Mobile Navigation App Bar */
   .social-sidebar {
      position: fixed !important;
      top: auto !important;
      bottom: 0 !important;
      left: 0 !important;
      right: 0 !important;
      width: 100% !important;
      height: auto !important;
      flex-direction: row !important;
      justify-content: center !important;
      background: linear-gradient(90deg, #001530 0%, #00224d 100%) !important;
      padding: 10px 0 !important;
      gap: 24px !important;
      box-shadow: 0 -4px 18px rgba(0, 0, 0, 0.24) !important;
      border-radius: 0 !important;
      z-index: 99999 !important;
   }

   .social-sidebar a {
      width: 42px !important;
      height: 42px !important;
      font-size: 18px !important;
      box-shadow: 0 2px 8px rgba(0,0,0,0.15) !important;
   }

   /* Updates, Tabs & notice section on mobile */
   .updates-section {
      padding: 36px 16px !important;
   }

   .custom-tabs {
      display: flex !important;
      flex-direction: column !important;
      gap: 8px !important;
   }

   .tab-btn {
      width: 100% !important;
      text-align: center !important;
      padding: 12px 16px !important;
      font-size: 14px !important;
   }

   .notice-item {
      padding: 16px !important;
   }

   .notice-item h3 {
      font-size: 14px !important;
      line-height: 1.6 !important;
   }

   /* Documents Table styling */
   .docs-table-wrapper {
      margin-top: 15px !important;
   }

   /* Gallery Grid on mobile */
   .gallery-grid {
      grid-template-columns: 1fr !important;
      gap: 16px !important;
   }

   .gallery-grid-wrap {
      padding: 16px 16px 40px !important;
   }

   .gallery-filter-bar {
      padding: 20px 16px 0 !important;
      justify-content: center !important;
   }

   /* Footer mobile stack */
   .footer-top {
      grid-template-columns: 1fr !important;
      padding: 40px 20px !important;
      gap: 32px !important;
      text-align: center !important;
   }

   .footer-box h3 {
      display: inline-block;
      margin-bottom: 16px !important;
      padding-bottom: 8px;
   }

   .footer-box ul li {
      justify-content: center !important;
   }

   .map-box iframe {
      height: 200px !important;
   }

   .footer-bottom {
      flex-direction: column !important;
      text-align: center !important;
      padding: 20px !important;
      gap: 12px !important;
   }
}

/* SMALL PHONES (max-width: 480px) */
@media (max-width: 480px) {
   .logo {
      height: 40px !important;
   }

   .gov h2 {
      font-size: 15px !important;
   }

   .gov p {
      font-size: 10.5px !important;
   }

   .hero-slider {
      height: 180px !important;
   }

   .leader-image img {
      width: 120px !important;
      height: 120px !important;
   }

   .leader-content h2 {
      font-size: 17px !important;
   }

   .footer-box p,
   .footer-box ul li {
      font-size: 13px !important;
   }
}