body {
  background: #f4f7fb;
  font-family: 'Noto Sans', Arial, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: #222;
}

.top-header {
  background: #0b4da2;
  color: #fff;
  padding: 8px 0;
}

.donate-header {
  background: #f6c343;
  color: #000;
  padding: 6px 12px;
  border-radius: 3px;
  font-weight: 600;
}

.navbar {
  background: #1e6bb8;
  padding: 4px 0;
}

.nav-link {
  color: #fff !important;
  font-weight: 600;
  padding: 6px 14px !important;
}

.nav-link.active {
  background: #f6c343;
  color: #000 !important;
  border-radius: 3px;
}

.hero {
  background: url('../images/hero.jpg') center/cover no-repeat;
  height: 340px;
  position: relative;
}

.hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.7);
}

.hero-content {
  position: relative;
  text-align: center;
  padding-top: 90px;
}

.hero h1 {
  color: #0b4da2;
  font-weight: 700;
}

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

.section-title {
  background: linear-gradient(to right, #8bc34a, #dcedc8);
  padding: 6px 10px;
  font-weight: 700;
  color: #1b5e20;
  margin-bottom: 10px;
  border-radius: 3px;
}

.icon-box {
  background: #fff;
  border: 1px solid #dcdcdc;
  padding: 12px;
  text-align: center;
}

.service-box svg {
  margin-bottom: 6px;
}

footer {
  background: #0b4da2;
  color: #fff;
  padding: 10px;
  text-align: center;
  margin-top: 30px;
}

footer a {
  color: #fff;
  text-decoration: none;
  font-weight: 600;
}

/* ===== TOP HEADER ===== */
.top-header {
  background: linear-gradient(to right, #1e4fa3, #2c66b8);
  padding: 12px 0;
}

.site-logo {
  width: 64px;
  height: 64px;
}

.site-title {
  font-size: 37px;
  font-weight: 700;
  line-height: 1.2;
}

.site-subtitle {
  font-size: 14px;
  font-weight: 500;
}

/* ===== DONATE BOX ===== */
.donate-header {
  background: #f3c84b;
  padding: 8px 12px;
  border-radius: 2px;
}

.donate-text {
  font-size: 12px;
  line-height: 1.3;
}

.donate-qr {
  width: 55px;
  height: 55px;
}

/* ===== NAVBAR ===== */
.main-navbar {
  background: #234f93;
  padding: 0;
}

.main-navbar .nav-link {
  color: #fff !important;
  font-weight: 600;
  padding: 10px 16px;
  font-size: 14px;
}

.main-navbar .nav-link:hover,
.main-navbar .nav-link.active {
  background: #f3c84b;
  color: #000 !important;
}

/* ===== RESPONSIVE ===== */
@media(max-width:992px) {
  .donate-header {
    display: none;
  }
}

/* ===== GOV MENU BAR ===== */
.gov-menu-bar {
  background: #234f93;
  padding: 0;
  min-height: 56px;
  /* DESKTOP HEIGHT */
  border-top: 1px solid rgba(255, 255, 255, 0.25);
}

/* MENU LIST */
.gov-menu {
  align-items: left;
}

/* MENU LINKS */
.gov-menu .nav-link {
  color: #ffffff !important;
  font-size: 14px;
  font-weight: 600;
  padding: 16px 18px;
  /* HEIGHT INCREASE */
  line-height: 3;
  white-space: nowrap;
}

/* ACTIVE + HOVER */
.gov-menu .nav-link.active,
.gov-menu .nav-link:hover {
  background: #f3c84b;
  color: #000 !important;
}

/* REMOVE BOOTSTRAP GAPS */
.navbar-nav {
  gap: 0;
}

/* ===== TOGGLER BUTTON ===== */
.gov-toggler {
  border: none;
  padding: 8px 10px;
}

.gov-toggler .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255,255,255,1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* ===== TABLET VIEW ===== */
@media(max-width:991px) {
  .gov-menu-bar {
    min-height: 60px;
  }

  .gov-menu {
    width: 100%;
    background: #234f93;
  }

  .gov-menu .nav-item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  }

  .gov-menu .nav-link {
    padding: 11px 29;
    /* TOUCH FRIENDLY */
  }
}

/* ===== MOBILE VIEW ===== */
@media(max-width:575px) {
  .gov-menu-bar {
    min-height: 62px;
  }

  .gov-menu .nav-link {
    padding: 16px 18px;
    font-size: 15px;
  }
}

/* ===== LOGO ===== */
.site-logo {
  width: 64px;
  height: auto;
}

/* ===== SITE TEXT ===== */
.site-title {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
}

.site-subtitle {
  font-size: 14px;
  font-weight: 500;
}

/* ===== AUTO HIDE NAME ON TAB & MOBILE ===== */
@media (max-width: 991px) {

  /* Tablet + Mobile */
  .site-text {
    display: none;
  }

  .site-brand {
    gap: 0 !important;
    /* remove extra space */
  }

  .site-logo {
    width: 56px;
    /* slightly smaller on tab */
  }
}

/* ===== MOBILE EXTRA OPTIMIZATION ===== */
@media (max-width: 575px) {
  .site-logo {
    width: 52px;
  }
}

/* ===============================
   WELCOME / HERO SECTION
================================ */

/* Main section */
.welcome-section {
  background: url("../images/welcome-background.png") center center / cover no-repeat;
  height: 260px;
  position: relative;
  overflow: hidden;
}

/* Soft overlay */
.welcome-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom,
      rgba(255, 255, 255, 0.78),
      rgba(255, 255, 255, 0.55));
  display: flex;
  align-items: center;
}

/* Heading */
.welcome-title {
  font-size: 30px;
  font-weight: 700;
  color: #1e4fa3;
  /* Govt blue */
  margin-bottom: 6px;
}

/* Subtitle */
.welcome-subtitle {
  font-size: 15px;
  color: #4b5563;
  font-style: italic;
}

/* ===============================
   FADE-IN ANIMATION (GOVT SAFE)
================================ */

.fade-wrapper {
  animation: fadeIn 1s ease-in-out forwards;
}

.fade-up {
  opacity: 0;
  transform: translateY(10px);
  animation: fadeUp 0.9s ease forwards;
}

.fade-up.delay-1 {
  animation-delay: 0.3s;
}

/* Keyframes */
@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

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

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

@media (max-width: 992px) {
  .welcome-section {
    height: 220px;
  }

  .welcome-title {
    font-size: 26px;
  }
}

@media (max-width: 575px) {
  .welcome-section {
    height: 200px;
  }

  .welcome-title {
    font-size: 22px;
  }

  .welcome-subtitle {
    font-size: 14px;
  }
}

/* ===== OUR SERVICES ===== */
.services-section {
  border: 1px solid #cfdac0;
  background: #fff;
}

/* Header bar */
.services-header {
  background: linear-gradient(to right, #7fbf4d, #a6d785);
  color: #fff;
  font-weight: 700;
  padding: 8px 0;
  font-size: 16px;
}

/* Container */
.services-box {
  padding: 15px 0;
}

/* Service item */
.service-item {
  border-right: 1px solid #ddd;
  padding: 12px 5px;
  text-decoration: none;
  transition: background 0.25s ease;
}

/* SVG Icon */
.service-icon {
  width: 48px;
  height: 48px;
  stroke: #1e4fa3;
  /* logo blue */
  fill: none;
  stroke-width: 2;
  margin-bottom: 6px;
  transition: transform 0.25s ease, stroke 0.25s ease;
}

/* Text */
.service-item p {
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  color: #333;
}

/* Hover (Govt safe) */
.service-link:hover {
  background: #f4f9ef;
}

.service-link:hover .service-icon {
  transform: translateY(-3px);
  stroke: #5aa43a;
  /* logo green */
}

/* Remove last border */
.border-end-0 {
  border-right: none !important;
}

/* Responsive */
@media(max-width:768px) {
  .service-item {
    border-right: none;
    border-bottom: 1px solid #ddd;
  }
}

@media(max-width:576px) {
  .service-icon {
    width: 40px;
    height: 40px;
  }

  .service-item p {
    font-size: 12px;
  }
}

.text-center {
  text-align: center !important;
}

/* ===== GRAM VIKAS SAMITI ===== */
.samiti-section {
  border: 1px solid #d6d6d6;
  background: #fff;
  margin: 15px 0;
}

/* Header bar */
.samiti-header {
  background: linear-gradient(to right, #fde7a3, #fff2c9);
  padding: 8px 12px;
  font-weight: 700;
  font-size: 15px;
  color: #2d2d2d;
  border-bottom: 1px solid #d6d6d6;
}

/* Header icon */
.samiti-icon {
  width: 28px;
  height: auto;
  margin-right: 8px;
}

/* Content */
.samiti-content {
  padding: 12px 8px;
}

/* Item */
.samiti-item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 600;
  color: #2e7d32;
  padding: 8px 0;
  border-bottom: 1px solid #e0e0e0;
}

/* Leaf icon */
.leaf-icon {
  font-size: 14px;
}

/* Remove bottom border on large screens */
@media(min-width:768px) {
  .samiti-item {
    border-bottom: none;
    border-right: 1px solid #e0e0e0;
  }

  .samiti-item:last-child {
    border-right: none;
  }
}

/* Mobile */
@media(max-width:575px) {
  .samiti-item {
    justify-content: flex-start;
    padding-left: 15px;
  }
}

/* ===== SAMITI LINK ===== */
.samiti-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  text-decoration: none;
  color: #2e7d32;
  font-weight: 600;
  width: 100%;
  height: 100%;
}

/* Hover (Govt safe) */
.samiti-link:hover {
  color: #1e4fa3;
}

/* Leaf icon */
.samiti-link .leaf-icon {
  font-size: 14px;
}

/* Mobile alignment */
@media(max-width:575px) {
  .samiti-link {
    justify-content: flex-start;
    padding-left: 15px;
  }
}

/* ===== COMMON BOX ===== */
.box {
  border: 1px solid #d6d6d6;
  background: #fff;
}

/* Headers */
.box-header {
  padding: 8px 12px;
  font-weight: 700;
  font-size: 15px;
  border-bottom: 1px solid #d6d6d6;
}

.box-header.yellow {
  background: linear-gradient(to right, #fde7a3, #fff2c9);
}

.box-header.green {
  background: linear-gradient(to right, #cde6b8, #eaf5df);
}

/* ===== PROJECTS ===== */
.project-tabs {
  background: #234f93;
  color: #fff;
  font-weight: 600;
}

.project-tabs .tab {
  padding: 10px 0;
  border-right: 1px dashed rgba(255, 255, 255, 0.4);
}

.project-tabs .tab:last-child {
  border-right: none;
}

.project-content {
  padding: 25px 10px;
  border-top: 1px solid #ddd;
}

/* ===== MEMBERS ===== */
.members-content {
  padding: 15px;
}

.list {
  list-style: none;
  padding: 0;
}

.list li {
  border-bottom: 1px solid #e0e0e0;
  padding: 6px 0;
}

.list li a {
  text-decoration: none;
  font-weight: 600;
  color: #1e4fa3;
}

.list li a:hover {
  color: #2e7d32;
}

/* ===== DONATE BOX ===== */
.donate-box {
  background: #f7fbef;
}

.donate-content {
  padding: 15px;
  font-size: 13px;
}

.qr-img {
  width: 100%;
  max-width: 160px;
  display: block;
  margin: 10px auto;
}

/* ===== RESPONSIVE ===== */
@media(max-width:991px) {
  .project-tabs .tab {
    border-right: none;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.4);
  }
}

@media(max-width:575px) {
  .box-header {
    font-size: 14px;
  }
}

/* ===== PROJECT LINK ===== */
.project-link {
  display: flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  color: #333;
  width: 100%;
}

/* Hover (Govt / NIC safe) */
.project-link:hover {
  background: #f4f9ef;
  color: #1e4fa3;
}

/* Maintain spacing */
.project-ul li {
  padding: 6px 4px;
}

/* Remove underline everywhere */
.project-link,
.project-link:hover {
  text-decoration: none;
}

/* ===== COMMON BOX ===== */
.box {
  border: 1px solid #d6d6d6;
  background: #fff;
}

/* Header */
.box-header {
  padding: 8px 12px;
  font-weight: 700;
  font-size: 15px;
  border-bottom: 1px solid #d6d6d6;
}

.box-header.yellow {
  background: linear-gradient(to right, #fde7a3, #fff2c9);
}

/* ===== COLUMN HEADERS ===== */
.project-tabs {
  background: #234f93;
  color: #fff;
  font-weight: 600;
}

.project-tabs .tab {
  padding: 10px 0;
  border-right: 1px dashed rgba(255, 255, 255, 0.4);
}

.project-tabs .tab:last-child {
  border-right: none;
}

/* ===== PROJECT LIST ===== */
.project-content {
  padding: 10px 0;
}

.project-list {
  padding: 10px;
  font-size: 13px;
}

.project-ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.project-ul li {
  border-bottom: 1px solid #e0e0e0;
}

/* Clickable project */
.project-link {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 4px;
  text-decoration: none;
  color: #333;
  flex-wrap: wrap;
}

.project-link:hover {
  background: #f4f9ef;
  color: #1e4fa3;
}

/* Project title */
.project-title {
  font-weight: 600;
}

/* Year */
.year {
  font-size: 12px;
  color: #666;
}

/* ===== BADGES ===== */
.badge {
  font-size: 11px;
  padding: 3px 6px;
  border-radius: 3px;
  font-weight: 600;
}

.badge-ongoing {
  background: #e3f2fd;
  color: #0d47a1;
}

.badge-completed {
  background: #e8f5e9;
  color: #1b5e20;
}

.badge-proposed {
  background: #fff8e1;
  color: #ff6f00;
}

/* ===== RESPONSIVE ===== */
@media(max-width:991px) {
  .project-tabs .tab {
    border-right: none;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.4);
  }
}

@media(max-width:767px) {
  .project-list {
    border-bottom: 1px solid #ddd;
  }
}

/* ===== COMMON BOX ===== */
.gov-box {
  border: 1px solid #d6d6d6;
  background: #fff;
}

/* Headers */
.gov-header {
  padding: 8px 12px;
  font-weight: 700;
  font-size: 15px;
  border-bottom: 1px solid #d6d6d6;
}

.gov-header.yellow {
  background: linear-gradient(to right, #fde7a3, #fff2c9);
}

.gov-header.green {
  background: linear-gradient(to right, #cde6b8, #eaf5df);
}

/* ===== PROJECT TABS ===== */
.project-tabs {
  background: #234f93;
  color: #fff;
  font-weight: 600;
}

.project-tabs .tab {
  padding: 10px 0;
  border-right: 1px dashed rgba(255, 255, 255, 0.4);
}

.project-tabs .tab:last-child {
  border-right: none;
}

.project-lines {
  padding: 25px 0;
  border-top: 1px solid #ddd;
}

/* ===== LIST STYLE ===== */
.gov-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.gov-list li {
  padding: 9px 31px;
  border-bottom: 1px solid #e0e0e0;
}

.gov-list li a {
  text-decoration: none;
  font-weight: 600;
  color: #1e4fa3;
}

.gov-list li a:hover {
  color: #2e7d32;
}

/* ===== DONATE BOX ===== */
.donate-box {
  background: #f7fbef;
}

.donate-body {
  padding: 15px;
  font-size: 13px;
}

.qr-img {
  width: 100%;
  max-width: 160px;
  display: block;
  margin: 10px auto;
}

/* ===== RESPONSIVE ===== */
@media(max-width:991px) {
  .project-tabs .tab {
    border-right: none;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.4);
  }
}

@media(max-width:575px) {
  .gov-header {
    font-size: 14px;
  }
}

.gallery-img {
  cursor: pointer;
  transition: transform 0.25s ease;
}

.gallery-img:hover {
  transform: scale(1.03);
}

/* ===== IMAGE MODAL STYLES ===== */

.samiti-svg {
  width: 18px;
  height: 18px;
  stroke: #2e7d32;
  fill: none;
  stroke-width: 2;
}

/* ===== STRIP CONTAINER ===== */
.samiti-strip {
  background: #fff;
  border-bottom: 1px solid #dcdcdc;
  padding: 8px 0;
}

/* Column */
.samiti-col {
  position: relative;
}

/* Link */
.samiti-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 600;
  color: #2e7d32;
  text-decoration: none;
  padding: 6px 4px;
  opacity: 0;
  transform: translateY(6px);
  animation: fadeInUp 0.7s ease forwards;
}

/* Stagger animation */
.samiti-col:nth-child(1) .samiti-link {
  animation-delay: .1s
}

.samiti-col:nth-child(2) .samiti-link {
  animation-delay: .2s
}

.samiti-col:nth-child(3) .samiti-link {
  animation-delay: .3s
}

.samiti-col:nth-child(4) .samiti-link {
  animation-delay: .4s
}

.samiti-col:nth-child(5) .samiti-link {
  animation-delay: .5s
}

.samiti-col:nth-child(6) .samiti-link {
  animation-delay: .6s
}

/* Hover */
.samiti-link:hover {
  color: #1e4fa3;
}

/* Text underline on hover */
.samiti-link::after {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 20%;
  width: 60%;
  height: 2px;
  background: #1e4fa3;
  opacity: 0;
  transition: .3s;
}

.samiti-link:hover::after {
  opacity: 1;
}

/* ===== ICONS ===== */
.icon {
  width: 14px;
  height: 14px;
  display: inline-block;
}

/* Leaf icon */
.icon.leaf {
  background: linear-gradient(#4caf50, #2e7d32);
  clip-path: polygon(50% 0, 80% 20%, 100% 50%, 80% 80%, 50% 100%, 20% 80%, 0 50%, 20% 20%);
}

/* India icon */
.icon.india {
  background: linear-gradient(to bottom, #ff9933, #fff, #138808);
  border-radius: 2px;
}

/* ===== ANIMATION ===== */
@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ===== MOBILE ===== */
@media(max-width:767px) {
  .samiti-link {
    justify-content: flex-start;
    font-size: 13px;
  }
}

/* ===== TABS ===== */
.project-tabs .tab {
  padding: 10px;
  background: #234f93;
  color: #fff;
  font-weight: 600;
  cursor: pointer;
  border-right: 1px dashed rgba(255, 255, 255, 0.4);
}

.project-tabs .tab:last-child {
  border-right: none;
}

.project-tabs .tab.active {
  background: #1e4fa3;
}

/* ===== PROJECT LIST ===== */
.project-ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.project-ul li {
  border-bottom: 1px solid #e0e0e0;
}

.project-link {
  display: flex;
  gap: 6px;
  align-items: center;
  padding: 6px 4px;
  text-decoration: none;
  color: #333;
  font-size: 13px;
}

.project-link:hover {
  background: #f4f9ef;
  color: #1e4fa3;
}

/* ===== BADGES ===== */
.badge {
  font-size: 11px;
  padding: 3px 6px;
  border-radius: 3px;
  font-weight: 600;
}

.badge-ongoing {
  background: #e3f2fd;
  color: #0d47a1;
}

.badge-completed {
  background: #e8f5e9;
  color: #1b5e20;
}

.badge-proposed {
  background: #fff8e1;
  color: #ff6f00;
}

.year {
  font-size: 12px;
  color: #666;
}

/* ===== SLIDE ANIMATION (MOBILE) ===== */
.project-pane {
  transition: opacity .35s ease, transform .35s ease;
}

@media(max-width:767px) {
  .project-pane {
    display: none;
    opacity: 0;
    transform: translateX(20px);
  }

  .project-pane.active {
    display: block;
    opacity: 1;
    transform: translateX(0);
  }
}

/* ==============================
   SAMITI STRIP
================================ */
.samiti-strip {
  background: #fff;
  border-bottom: 1px solid #dcdcdc;
  padding: 8px 0;
}

/* Column */
.samiti-col {
  position: relative;
}

/* Link */
.samiti-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 600;
  color: #2e7d32;
  /* Govt green */
  text-decoration: none;
  padding: 6px 4px;
  opacity: 0;
  transform: translateY(6px);
  animation: fadeInUp 0.7s ease forwards;
}

/* Stagger animation */
.samiti-col:nth-child(1) .samiti-link {
  animation-delay: .1s
}

.samiti-col:nth-child(2) .samiti-link {
  animation-delay: .2s
}

.samiti-col:nth-child(3) .samiti-link {
  animation-delay: .3s
}

.samiti-col:nth-child(4) .samiti-link {
  animation-delay: .4s
}

.samiti-col:nth-child(5) .samiti-link {
  animation-delay: .5s
}

.samiti-col:nth-child(6) .samiti-link {
  animation-delay: .6s
}

/* Hover effect */
.samiti-link:hover {
  color: #1e4fa3;
  /* Govt blue */
}

/* Underline animation */
.samiti-link::after {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 20%;
  width: 60%;
  height: 2px;
  background: #1e4fa3;
  opacity: 0;
  transition: .3s;
}

.samiti-link:hover::after {
  opacity: 1;
}

/* ==============================
   ICONS
================================ */
.icon {
  width: 14px;
  height: 14px;
  display: inline-block;
  flex-shrink: 0;
}

/* Leaf icon */
.icon.leaf {
  background: linear-gradient(#4caf50, #2e7d32);
  clip-path: polygon(50% 0%, 80% 20%, 100% 50%, 80% 80%,
      50% 100%, 20% 80%, 0% 50%, 20% 20%);
}

/* India icon */
.icon.india {
  background: linear-gradient(to bottom, #ff9933, #ffffff, #138808);
  border-radius: 2px;
}

/* ==============================
   ANIMATION
================================ */
@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ==============================
   MOBILE
================================ */
@media(max-width:767px) {
  .samiti-link {
    justify-content: flex-start;
    font-size: 13px;
  }
}

/* ===== ICON LINK RESET ===== */
.icon-link {
  text-decoration: none;
  color: inherit;
  display: block;
}

/* ===== ICON BOX ===== */
.icon-box {
  text-align: center;
  padding: 20px 10px;
  border: 1px solid #e0e0e0;
  background: #fff;
  transition: transform .25s ease, box-shadow .25s ease, border .25s ease;
}

/* SVG ICON */
.icon-box svg {
  stroke: #2e7d32;
  /* govt green */
  fill: none;
  stroke-width: 2;
  margin-bottom: 6px;
  transition: stroke .25s ease;
}

/* Title */
.icon-box b {
  display: block;
  font-size: 14px;
  color: #2e7d32;
  transition: color .25s ease;
}

/* Hover (Govt-safe) */
.icon-link:hover .icon-box {
  transform: translateY(-4px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.icon-link:hover svg {
  stroke: #1e4fa3;
  /* govt blue */
}

.icon-link:hover b {
  color: #1e4fa3;
}

/* ===== ACTIVE STATE ===== */
.icon-link.active .icon-box {
  border: 2px solid #1e4fa3;
  background: #f1f6fd;
  box-shadow: 0 6px 14px rgba(30, 79, 163, 0.15);
}

.icon-link.active svg {
  stroke: #1e4fa3;
}

.icon-link.active b {
  color: #1e4fa3;
}

/* Keyboard accessibility */
.icon-link:focus-visible .icon-box {
  outline: 2px dashed #1e4fa3;
  outline-offset: 3px;
}

/* Mobile */
@media(max-width:767px) {
  .icon-box {
    padding: 16px 8px;
  }
}

/* History CSS */

/* ===== PAGE HEADER ===== */
.page-header {
  background: #f3f6fb;
  border-bottom: 1px solid #d6d6d6;
  padding: 20px 0;
}

.page-header h1 {
  font-size: 24px;
  font-weight: 700;
  color: #1e4fa3;
  margin-bottom: 5px;
}

/* Breadcrumb */
.breadcrumb-nav {
  font-size: 13px;
  color: #555;
}

.breadcrumb-nav a {
  text-decoration: none;
  color: #1e4fa3;
}

/* ===== CONTENT ===== */
.section-title {
  font-size: 16px;
  font-weight: 700;
  color: #2e7d32;
  margin-top: 20px;
  margin-bottom: 6px;
}

.gov-box {
  border: 1px solid #d6d6d6;
  background: #fff;
}

.gov-box p {
  font-size: 14px;
  color: #333;
  line-height: 1.7;
}

.gov-box ul {
  list-style-type: disc;
  padding-left: 20px;
}

.gov-box ul li {
  margin-bottom: 6px;
}

.gov-menu .nav-link {
  color: #fff;
  font-weight: 600;
  padding: 14px 18px;
}

.gov-menu .nav-link.active,
.gov-menu .nav-link:hover {
  background: #f3c84b;
  color: #000;
}

/* ===== RESPONSIVE ===== */
@media(max-width:991px) {
  .page-header h1 {
    font-size: 20px;
  }

  /* ===== GOVT BOX ===== */
  .gov-box {
    border: 1px solid #d6d6d6;
    background: #ffffff;
  }

  /* Section title */
  .section-title {
    font-size: 16px;
    font-weight: 700;
    color: #2e7d32;
  }

  /* ===== DOWNLOAD ITEM ===== */
  .download-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid #e0e0e0;
    background: #fafafa;
    text-decoration: none;
    color: #333;
    transition: background .25s ease, box-shadow .25s ease;
  }

  .download-item:hover {
    background: #f1f6fd;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.08);
  }

  /* Icon */
  .download-icon {
    font-size: 22px;
    flex-shrink: 0;
  }

  /* Text */
  .download-text strong {
    display: block;
    font-size: 14px;
    color: #1e4fa3;
  }

  .download-text small {
    font-size: 12px;
    color: #666;
  }

  /* Mobile */
  @media(max-width:575px) {
    .download-item {
      padding: 10px 12px;
    }
  }

  /* ===== GOVT BOX ===== */
  .gov-box {
    border: 1px solid #d6d6d6;
    background: #ffffff;
  }

  /* Section title */
  .section-title {
    font-size: 16px;
    font-weight: 700;
    color: #2e7d32;
  }

  /* ===== JOB CARD ===== */
  .job-card {
    border: 1px solid #e0e0e0;
    background: #fafafa;
    padding: 14px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: box-shadow .25s ease, transform .25s ease;
  }

  .job-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    transform: translateY(-3px);
  }

  /* Job info */
  .job-info {
    display: flex;
    align-items: center;
    gap: 10px;
  }

  .job-icon {
    font-size: 22px;
  }

  /* Text */
  .job-info strong {
    display: block;
    font-size: 14px;
    color: #1e4fa3;
  }

  .job-info small {
    font-size: 12px;
    color: #666;
  }

  /* ===== APPLY BUTTON ===== */
  .btn-apply {
    margin-top: 12px;
    background: #1e4fa3;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    padding: 6px 12px;
    border: none;
    border-radius: 3px;
    text-align: center;
  }

  .btn-apply:hover {
    background: #163b78;
    color: #fff;
  }

  /* Mobile */
  @media(max-width:575px) {
    .job-card {
      padding: 12px;
    }
  }

  /* =========================
   JOB APPLY – GOVT STYLE 2
========================= */

  /* Container box */
  .gov-box {
    border: 1px solid #cfd6e0;
    background: #ffffff;
  }

  /* Section heading */
  .section-title {
    font-size: 16px;
    font-weight: 700;
    color: #0b3c6d;
    border-left: 4px solid #0b3c6d;
    padding-left: 8px;
  }

  /* Job card – flat row style */
  .job-card {
    border: 1px solid #d0d7e2;
    background: #f9fbff;
    padding: 12px 14px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  /* Job info row */
  .job-info {
    display: flex;
    align-items: flex-start;
    gap: 10px;
  }

  /* Icon */
  .job-icon {
    font-size: 20px;
    line-height: 1;
    margin-top: 2px;
  }

  /* Text */
  .job-info strong {
    font-size: 14px;
    font-weight: 700;
    color: #0b3c6d;
  }

  .job-info small {
    display: block;
    font-size: 12px;
    color: #555;
    margin-top: 2px;
  }

  /* Divider */
  .job-card::after {
    content: "";
    display: block;
    height: 1px;
    background: #dbe2ef;
    margin: 10px 0;
  }

  /* Apply button – govt flat */
  .btn-apply {
    background: #0b5ed7;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    padding: 6px 14px;
    border: none;
    border-radius: 2px;
    align-self: flex-start;
    text-decoration: none;
  }

  /* Hover – minimal */
  .btn-apply:hover {
    background: #084298;
    color: #fff;
  }

  /* Mobile optimization */
  @media(max-width:575px) {
    .job-card {
      padding: 10px 12px;
    }

    .job-info strong {
      font-size: 13px;
    }
  }

  /* ===== GOVT BOX ===== */
  .gov-box {
    border: 1px solid #d6d6d6;
    background: #ffffff;
  }

  /* Section title */
  .section-title {
    font-size: 16px;
    font-weight: 700;
    color: #2e7d32;
  }

  /* Gallery images */
  .gallery-img {
    border: 1px solid #e0e0e0;
    cursor: pointer;
    transition: transform .25s ease, box-shadow .25s ease;
  }

  .gallery-img:hover {
    transform: scale(1.03);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
  }

  /* Modal image */
  .modal-body img {
    max-height: 80vh;
    object-fit: contain;
  }

  /* ===== GOVT BOX ===== */
  .gov-box {
    border: 1px solid #d6d6d6;
    background: #ffffff;
  }

  /* Section title */
  .section-title {
    font-size: 16px;
    font-weight: 700;
    color: #2e7d32;
  }

  /* ===== VIDEO CARD ===== */
  .video-card {
    position: relative;
    border: 1px solid #e0e0e0;
    cursor: pointer;
    background: #000;
    overflow: hidden;
  }

  .video-card img {
    width: 100%;
    transition: transform .3s ease;
  }

  .video-card:hover img {
    transform: scale(1.05);
  }

  /* Play icon */
  .play-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 36px;
    color: #fff;
    background: rgba(0, 0, 0, 0.6);
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* Title */
  .video-title {
    position: absolute;
    bottom: 0;
    width: 100%;
    background: rgba(0, 0, 0, 0.6);
    color: #fff;
    font-size: 13px;
    padding: 6px 8px;
  }

  /* Mobile */
  @media(max-width:575px) {
    .play-icon {
      width: 50px;
      height: 50px;
      font-size: 28px;
    }
  }

  /* ===============================
   NAVBAR CUSTOMIZATION
================================ */
  /* ===== GOVT BOX ===== */
  .gov-box {
    border: 1px solid #d6d6d6;
    background: #ffffff;
  }

  /* Section title */
  .section-title {
    font-size: 16px;
    font-weight: 700;
    color: #2e7d32;
  }

  /* ===== LARGE VIDEO FRAME ===== */
  .video-frame-lg {
    border: 1px solid #dcdcdc;
    background: #000;
  }

  /* Big iframe size */
  .video-frame-lg iframe {
    width: 100%;
    height: 320px;
    /* BIG SIZE */
  }

  /* Caption */
  .video-caption {
    background: #f3f6fb;
    font-size: 14px;
    font-weight: 600;
    padding: 8px 10px;
    color: #1e4fa3;
    border-top: 1px solid #dcdcdc;
  }

  /* Tablet */
  @media(max-width:991px) {
    .video-frame-lg iframe {
      height: 280px;
    }
  }

  /* Mobile */
  @media(max-width:575px) {
    .video-frame-lg iframe {
      height: 220px;
    }
  }

  /* ===============================
Members SECTION
================================ */

  /* ===== HEADINGS ===== */
  .team-heading {
    font-size: 36px;
    font-weight: 700;
    color: #0f3d2e;
    margin-bottom: 6px;
  }

  .team-subheading {
    font-size: 18px;
    color: #333;
  }

  /* ===== MEMBER BOX ===== */
  .member-box {
    border: 1px solid #d0d0d0;
    background: #ffffff;
    position: relative;
  }

  /* Photo area */
  .member-photo {
    background: #cfcfcf;
  }

  .member-photo img {
    width: 100%;
    height: 364px;
    /* EXACT LIKE SCREENSHOT */
    object-fit: cover;
  }

  /* Bottom green strip */
  .member-footer {
    background: #0f3d2e;
    color: #ffffff;
    text-align: center;
    padding: 14px 10px;
  }

  .member-name {
    font-size: 18px;
    font-weight: 600;
  }

  .member-role {
    font-size: 14px;
    margin-top: 4px;
  }

  /* ===== TAGS (BADGES) ===== */
  .member-tags {
    position: absolute;
    top: 10px;
    left: 10px;
    right: 10px;
    display: flex;
    justify-content: space-between;
    pointer-events: none;
  }

  .tag {
    font-size: 12px;
    padding: 4px 8px;
    color: #fff;
    border-radius: 2px;
  }

  .tag.category.executive {
    background: #1e4fa3;
  }

  .tag.category.general {
    background: #6c757d;
  }

  .tag.designation {
    background: #0f3d2e;
  }

  /* ===== RESPONSIVE ===== */
  @media (max-width: 767px) {
    .member-photo img {
      height: 260px;
    }

    .team-heading {
      font-size: 28px;
    }
  }

  /* ===== HEADINGS ===== */
/* ===== SECTION HEADING ===== */
.team-heading{
  font-size:38px;
  font-weight:800;
  color:#0f3d2e;
  margin-bottom:6px;
}

.team-subheading{
  font-size:20px;
  font-weight:600;
  color:#333;
}

/* ===== MEMBER BOX ===== */
.member-box{
  border:1px solid #d0d0d0;
  background:#ffffff;
  padding-top:20px;
}

/* SVG icon center */
.member-icon{
  display:flex;
  justify-content:center;
  align-items:center;
  margin-bottom:10px;
}

/* ===== FOOTER STRIP ===== */
.member-footer{
  background:#0f3d2e;
  color:#ffffff;
  padding:18px 12px;
}

/* NAME – BIG & BOLD */
.member-name{
  font-size:24px;
  font-weight:800;
  line-height:1.3;
}

/* DESIGNATION – BIG & BOLD */
.member-role{
  font-size:18px;
  font-weight:700;
  margin-top:6px;
  opacity:0.95;
}

/* ===== RESPONSIVE ===== */
@media (max-width:767px){
  .team-heading{ font-size:28px; }
  .member-name{ font-size:20px; }
  .member-role{ font-size:16px; }
}


/* ==============================
   Project and actives  
================================ */
/* ===== GOVT BOX ===== */
.gov-box{
  border:1px solid #d0d0d0;
  background:#ffffff;
}

/* Box heading */
.box-title{
  background:#0f3d2e;
  color:#ffffff;
  font-size:16px;
  font-weight:800;
  padding:10px 14px;
}

/* ===== REPORT LIST ===== */
.report-list{
  list-style:none;
  padding:10px 14px;
  margin:0;
}

.report-list li{
  border-bottom:1px solid #e0e0e0;
}

.report-list li a{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:10px 0;
  text-decoration:none;
  font-weight:700;
  color:#000;
}

.report-list li a:hover{
  background:#f1f6fd;
}

.file-type{
  font-size:12px;
  color:#555;
}

/* ===== PHOTO GALLERY ===== */
.project-img{
  border:1px solid #e0e0e0;
  cursor:pointer;
  transition:transform .2s ease;
}

.project-img:hover{
  transform:scale(1.03);
}

/* ===== VIDEO ===== */
.project-video{
  width:100%;
  height:260px;
  border:1px solid #d0d0d0;
}

/* ===== MOBILE ===== */
@media(max-width:767px){
  .project-video{
    height:220px;
  }
}
/* ===== GOVT BOX ===== */
.gov-box{
  border:1px solid #d0d0d0;
  background:#ffffff;
}

/* Box heading – BOLD */
.box-title{
  background:#0f3d2e;
  color:#ffffff;
  font-size:17px;
  font-weight:800;
  padding:10px 14px;
}

/* ===== REPORT LIST ===== */
.report-list{
  list-style:none;
  padding:10px 14px;
  margin:0;
}

.report-list li{
  border-bottom:1px solid #e0e0e0;
}

.report-list li a{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:10px 0;
  text-decoration:none;
  font-weight:800;
  color:#000;
}

.file-type{
  font-size:12px;
  color:#555;
}

/* ===== PHOTO GALLERY ===== */
.project-img{
  border:1px solid #e0e0e0;
  cursor:pointer;
  transition:transform .2s ease;
}

.project-img:hover{
  transform:scale(1.04);
}

/* ===== VIDEO ===== */
.project-video{
  width:100%;
  height:260px;
  border:1px solid #d0d0d0;
}

/* ===== MOBILE ===== */
@media(max-width:767px){
  .project-video{
    height:220px;
  }
}

  /* ===== TITLES ===== */
    .page-title{
      font-size:36px;
      font-weight:800;
      color:#0f3d2e;
    }
    .page-subtitle{
      font-size:18px;
      font-weight:700;
      color:#333;
    }

    /* ===== GOV BOX ===== */
    .gov-box{
      border:1px solid #d0d0d0;
      background:#fff;
      margin-bottom:25px;
    }
    .box-title{
      background:#0f3d2e;
      color:#fff;
      font-size:18px;
      font-weight:800;
      padding:10px 14px;
    }
    .box-content{
      padding:16px;
      font-size:15px;
      font-weight:600;
      line-height:1.7;
    }

    /* ===== LIST ===== */
    .custom-list{
      padding-left:18px;
      margin:0;
    }
    .custom-list li{
      margin-bottom:6px;
    }

    /* ===== GALLERY ===== */
    .gallery-img{
      border:1px solid #d0d0d0;
      cursor:pointer;
      transition:transform .2s ease;
    }
    .gallery-img:hover{
      transform:scale(1.03);
    }

    /* ===== VIDEO ===== */
    .video-thumb{
      position:relative;
      cursor:pointer;
      border:1px solid #d0d0d0;
    }
    .play-icon{
      position:absolute;
      top:50%;
      left:50%;
      transform:translate(-50%,-50%);
      background:rgba(0,0,0,.6);
      color:#fff;
      width:70px;
      height:70px;
      border-radius:50%;
      display:flex;
      align-items:center;
      justify-content:center;
      font-size:42px;
    }

    /* ===== DOWNLOADS ===== */
    .download-list{
      list-style:none;
      padding:14px;
      margin:0;
    }
    .download-list li{
      border-bottom:1px solid #e0e0e0;
      padding:8px 0;
    }
    .download-list a{
      font-weight:700;
      text-decoration:none;
      color:#1e4fa3;
    }

    /* ===== RESPONSIVE ===== */
    @media(max-width:767px){
      .page-title{font-size:26px;}
    }

    /* ===== PAGE TITLES ===== */
.page-title{
  font-size:36px;
  font-weight:800;
  color:#0f3d2e;
}
.page-subtitle{
  font-size:18px;
  font-weight:700;
  color:#333;
}

/* ===== GOV BOX ===== */
.gov-box{
  border:1px solid #d0d0d0;
  background:#ffffff;
  margin-bottom:25px;
}
.box-title{
  background:#0f3d2e;
  color:#ffffff;
  font-weight:800;
  padding:10px 14px;
}
.box-content{
  padding:16px;
  font-weight:600;
  line-height:1.7;
}

/* ===== LIST ===== */
.custom-list{
  padding-left:18px;
}
.custom-list li{
  margin-bottom:6px;
}

/* ===== IMAGE GALLERY ===== */
.gallery-img{
  border:1px solid #d0d0d0;
  cursor:pointer;
  transition:transform .2s ease;
}
.gallery-img:hover{
  transform:scale(1.03);
}

/* ===== VIDEO ===== */
.video-thumb{
  position:relative;
  cursor:pointer;
  border:1px solid #d0d0d0;
}
.play-icon{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:70px;
  height:70px;
  background:rgba(0,0,0,.6);
  color:#fff;
  font-size:42px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
}

/* ===== DOWNLOAD LIST ===== */
.download-list{
  list-style:none;
  padding:14px;
}
.download-list li{
  border-bottom:1px solid #e0e0e0;
  padding:8px 0;
}
.download-list a{
  font-weight:700;
  text-decoration:none;
  color:#1e4fa3;
}

/* ===== RESPONSIVE ===== */
@media(max-width:767px){
  .page-title{font-size:26px;}
}

/* ==============================
   village actives  
================================ */

/* ===== TITLES ===== */
.page-title{
  font-size:36px;
  font-weight:800;
  color:#0f3d2e;
}
.page-subtitle{
  font-size:18px;
  font-weight:700;
}

/* ===== BOX ===== */
.culture-box{
  border:1px solid #d0d0d0;
  background:#ffffff;
  margin-bottom:25px;
}
.box-title{
  background:#0f3d2e;
  color:#ffffff;
  font-weight:800;
  padding:10px 14px;
}
.box-content{
  padding:16px;
}

/* ===== PHOTO ===== */
.culture-img{
  border:1px solid #d0d0d0;
  cursor:pointer;
  transition:transform .2s ease;
}
.culture-img:hover{
  transform:scale(1.03);
}

/* ===== VIDEO ===== */
.video-thumb{
  position:relative;
  cursor:pointer;
  border:1px solid #d0d0d0;
}
.play-icon{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:70px;
  height:70px;
  background:rgba(0,0,0,.6);
  color:#fff;
  font-size:42px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
}

/* ===== RESPONSIVE ===== */
@media(max-width:767px){
  .page-title{font-size:26px;}
  iframe{height:240px;}
}
