html, body {
    margin: 0;
    padding: 0;
    overflow-x: hidden;  /* 🔒 Prevent horizontal scroll */
    width: 100%;
    height: 100%;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
  }
  

.container {
    flex:1;
}
/* Navbar */
/* Navbar core styling */
.navbar {
    height: 5rem;
    background-color: black !important;
    
  }
  .navbar-collapse {
    background-color: #000;
  }
  .logo-icon {
    border-radius: 5px;
    font-size: 2rem;
    height: 60px;
    object-fit: contain;
  }
  .navbar-nav.left {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  
  /* Main nav links */
  .navbar-nav .nav-link {
    position: relative;
    color: #ffffff !important;
    margin-left: 20px !important;
    padding-bottom: 5px;
    transition: color 0.3s;
  }
  
  .navbar-nav .nav-link::after {
    content: "";
    position: absolute;
    width: 0;
    height: 3px;
    left: 0;
    bottom: 0;
    background: red!important;
    box-shadow: 0 0 6px red!important;
    transition: width 0.3s ease-in-out!important;
  }
  .navbar-nav .nav-link:hover::after,
  .navbar-nav .nav-link.active::after {
    width: 100%!important;
  }
  
  /* DROPDOWN toggle should NOT have red glow */
  .navbar-nav .dropdown-toggle::after {
    background: transparent !important;
    box-shadow: none !important;
    

  }
  
  /* Dropdown menu */
  .dropdown-menu {
    background-color: black !important;
    border: none!important;
    padding-top: 0;
    padding-bottom: 0;
    max-height: 350px; /* ya jitna aap chahte hain */
  overflow-y: auto;
  }
  
  /* Dropdown items */
  .dropdown-item {
    color: white!important;
    padding: 10px 20px;
    position: relative!important;
    transition: color 0.3s !important;
  }
  
  .dropdown-item::after {
    content: "";
    position: absolute;
    width: 0;
    height: 2px;
    left: 0;
    bottom: 4px;
    background: red !important;
    box-shadow: 0 0 6px red !important;
    transition: width 0.3s ease-in-out !important;
  }
  
  .dropdown-item:hover::after,
  .dropdown-item.active::after {
    width: 100%!important;
  }
  
  .dropdown-item:hover {
    background-color: black!important;
    color: red!important;
  }
  
  /* Ensures dropdown items glow red underline when active */
.dropdown-item.active {
    background-color: black !important; /* remove blue background */
    color: red !important; /* red text for active item */
    position: relative;
  }
  
  /* Keep the red glow underline for active dropdown items */
  .dropdown-item.active::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 2px;
    left: 0;
    bottom: 2px;
    background: red!important;
    box-shadow: 0 0 6px red!important;
  }
  
  /* Prevent default blue selection effect on click */
  .dropdown-item:focus,
  .dropdown-item:active {
    background-color: black !important;
    color: red !important;
    outline: none !important;
    box-shadow: none !important;
  }
  

   /* Default: Laptop/Desktop - full size */
   #searchForm {
    width: auto;
  }

  #searchInput {
    width: 250px;
  }

  /* Tablet & Mobile */
  @media (max-width: 768px) {
    #searchForm {
      flex-direction: row;
      width: 100%;
    }

    #searchInput {
      width: 120px;
      font-size: 0.9rem;
    }

    #searchForm button {
      padding: 0.375rem 0.75rem;
      font-size: 0.9rem;
    }
  }

  @media (max-width: 576px) {
    #searchInput {
      width: 100px;
    }

    #searchForm button {
      padding: 0.3rem 0.6rem;
    }
  }



/* Footer */

.f-info-links a {
    text-decoration: none;
    color:#222222;
}
.f-info-links a:hover {
    text-decoration: underline;
}

.f-info-links, .f-info-socials, .f-info-brand {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.f-info-socials i {
    font-size: 1.2rem;
    /* margin-top: 1rem; */
    margin-right: 1rem;
}

.f-info {
    text-align: center;
    height: 8rem;
    background-color: #ebebeb;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: space-evenly;
}

/* Cards */
.card {
    border: none !important;
    margin-bottom: 2rem;
}
  

.card-img-top {
    border-radius: 1rem;
    width: 100% !important;
    object-fit: cover !important;
}
.card-body {
    padding: 0 !important;
}
.card-text p {
    font-weight: 400 !important;
}

.listing-link{
    text-decoration: none!important;
}

/* Card effect */
.card-img-overlay {
    opacity: 0;
}
.card-img-overlay:hover {
    opacity: 0.2;
    background-color: white;
}

a.text-decoration-none {
    color: white !important;
}

a.text-decoration-none:hover {
    color: white !important;
}

/* Prevent pointer and hover style on non-clickable */
.card.not-clickable {
    cursor: default;
}
/* Card hover effect (default) */
.card-hover-effect {
    transition: background-color 0.3s ease, opacity 0.3s ease;
  }
  
  .card-hover-effect:hover .card-img-overlay {
    opacity: 0.2!important;
    background-color: white!important;
  }
  
  /* Hide overlay by default */
  .card-img-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    pointer-events: none; /* Prevent interference */
  }
  
  /* Disable pointer/hover on restricted cards */
  .card.no-hover {
    pointer-events: none;
  }

  .card-hover-effect:hover {
    opacity: 0.4;
    background-color: white;
    color: black !important;
    transition: all 0.3s ease;
  }



/* New Page */
.add-btn {
    background-color: #fe424d !important;
    border: none !important;
}

/* Edit Page */

.edit-btn {
    background-color: #fe424d !important;
    border: none !important;
}

/* Show page */
.show-img {
    height: 30vh;
}

.btns {
    display: flex;

}

.show-card {
    padding-left: 0;
    padding-right: 0;
}

/* .action-btn {
    width: auto !important;
    padding: 0.4rem 1.2rem !important; /* consistent padding */
    /* margin-right: 8px !important;
    margin-bottom: 16px !important;
    white-space: nowrap !important;
    offset: 3!important;
  } */
  
  
  /* Responsive spacing if needed */
  /* @media (max-width: 768px) {
    .action-btn {
      width: 100% !important;
      margin-right: 0 !important;
    }
  } */ 

  /* home.ejs styling */

  #particles-js {
    position: fixed; /* 🔄 was absolute */
    top: 0;
    left: 0;
    width: 100vw;     /* ✅ Full width viewport */
    height: 100vh;    /* ✅ Full height viewport */
    z-index: -1;
    background: #ffffff;
    overflow: hidden; /* 🔒 Make sure particles don't spill */
  }
  

  .container-home {
    position: relative;
    z-index: 10;
    padding: 2rem;
    text-align: center;
    overflow: hidden;
  }
  canvas {
    display: block;
    max-width: 100%;
    max-height: 100%;
  }  

  .logo img {
    width: 300px;
    filter: brightness(1.5) contrast(1);
    animation: pulse 2s infinite ease-in-out;
  }

  .logo-name {
    font-size: 2.5rem;
    font-weight: 900;
    color: rgb(181, 41, 53);
  }

  .logo-tagline {
    margin-top: 15px;
    font-size: 1.1rem;
    max-width: 600px;
    margin-inline: auto;
    color: black;
  }

  @keyframes pulse {
    0% {
      transform: scale(1);
    }
    50% {
      transform: scale(1.05);
    }
    100% {
      transform: scale(1);
    }
  }

  /* monthly attenadnce */

  .custom-scroll {
    overflow-x: auto !important;
    width: 100% !important;
    position: relative !important;
  }
  
  .table {
    table-layout: fixed !important;
    width: max-content !important;
    min-width: 100% !important;
  }
  
  thead th {
    position: sticky !important;
    top: 0 !important;
    background-color: #212529 !important;
    color: white !important;
    z-index: 10 !important;
    white-space: nowrap !important;
  }
  
  /* Sticky Columns */
  .sticky-col {
    position: sticky !important;
    background: white !important;
    z-index: 6 !important;
  }
  /* HEADERS: sticky with dark background */
thead th.sticky-col {
    background-color: #212529 !important; /* Dark background */
    color: white !important;
    z-index: 12 !important; /* Higher than td to prevent overlap */
  }
  
  /* BODY: sticky white background */
  tbody td.sticky-col {
    background-color: white !important;
    z-index: 6 !important;
  }
  
  /* Fixed Column Positions */
  .col-1 {
    left: 0 !important;
    width: 180px !important;
  }
  .col-2 {
    left: 180px !important;
    width: 130px !important;
  }
  .col-3 {
    left: 310px !important;
    width: 130px !important;
  }
  
  /* Match td/th widths */
  .table td.col-1,
  .table th.col-1 {
    width: 180px !important;
  }
  .table td.col-2,
  .table th.col-2 {
    width: 130px !important;
  }
  .table td.col-3,
  .table th.col-3 {
    width: 130px !important;
  }
  
  .table td,
  .table th {
    border: 1px solid #dee2e6 !important;
    padding: 8px !important;
    white-space: nowrap !important;
    vertical-align: middle !important;
  }
  
  
    
  
  
  
  
  
  
  