/* 1) Load General Sans */
@font-face {
  font-family: "General Sans";
  src: url("/fonts/GeneralSans-Regular.woff2") format("woff2"),
    url("/fonts/GeneralSans-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* 1) Make html/body full-height and remove margins */
html,
body {
  height: 100%;
  margin: 0;
  font-family: "General Sans", -apple-system, BlinkMacSystemFont, "Segoe UI",
    Roboto, "Helvetica Neue", Arial, sans-serif;
  background: linear-gradient(45deg, #2f2f2f 0%, #000000 30%, #000000 100%);
}

.bg-primary {
  background-color: #007ad0 !important;
  color: #ffffff !important;
}

.card-body {
  border-radius: 10px !important;
  padding-top: 6px !important;
  padding-right: 8px !important;
  padding-bottom: 6px !important;
  padding-left: 8px !important;
}

.custom-btn-scope .btn {
  --bs-btn-padding-x: 0.75rem;
  --bs-btn-padding-y: 1.8rem;
  background-color: #007ad0;
}

/* 3) Apply your diagonal gray→black gradient to the page root */
html {
  background-repeat: no-repeat;
  background-attachment: fixed;
}

/* apply the diagonal gradient */
.app-container {
  padding-left: 24px;
  padding-right: 24px;
  padding-bottom: 24px;
  padding-top: 20px;
  color: #fff;
  box-sizing: border-box;
}

.main-heading {
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.2;
  margin-top: 10px;
}

.gradient-text {
  /* background: linear-gradient(279deg, #fff 40%, #00501d 112%);
  -webkit-background-clip: text;
  background-clip: text; */
  color: #d1d1d1;
}

.main-text {
  /* color: #8b8b8b; */
  line-height: 1.6;
  font-size: 14px;
  margin-top: 10px;
  width: 100%;
  max-width: 526px;
}

.ai-text {
  font-weight: 700;
  font-size: 3.5rem;
  color: #d1d1d1;
}

.video-content {
  display: flex;
  justify-content: center;
}

.main-video {
  width: 100%;
  max-width: 726px;
  border-radius: 16px;
  object-fit: cover;
  /* height: 100%; */
  height: 312px;
}

/* Header cards */
.card-neon {
  background: linear-gradient(
    101.27deg,
    rgba(23, 158, 255, 0.1) 3.02%,
    rgba(0, 34, 59, 0.1) 63.01%
  );

  border: 1px solid #00457480;
  border-radius: 24px;
  /* box-shadow: 0 0 20px rgba(0, 255, 0, 0.5); */
  display: flex;
  align-items: flex-start;
  /* instead of center */
  padding: 14px;
  position: relative;
  /* margin-top: 10px; */
}

.neon-icon {
  flex-shrink: 0;
  margin-right: 20px;
  /* a stronger, smoother glow on the SVG itself */
}

.card-neon:active {
  text-decoration: none !important;
  color: inherit;
  /* keep your green “↗” or title colors */
}

.card-neon .card-link {
  align-self: flex-start;
  /* make only the arrow ignore the overall centering */
  margin-top: 0.25rem;
  /* tweak this to taste */
}

.card-content .card-title {
  margin: 0;
  color: #c8e8ff;
  font-size: 16px;
  font-weight: 500;
}

.card-content .card-text {
  /* color: #515151; */
  margin-top: 15px;
  font-size: 12px;
  font-weight: 400;
  /* width: 174px; */
}
/* Highlight the card title on hover */
.card-neon:hover .card-title {
  color: #007ad0;
  /* Change this to your highlight color */
  transition: color 0.2s ease;
}

/* Highlight the card description on hover */
.card-neon:hover .card-text {
  color: #007ad0;
  /* Same color or a different one */
  transition: color 0.2s ease;
  font-size: 13px;
}

/* Optional: lift the whole card slightly on hover */
.card-neon-container:hover {
  transform: translateY(-4px);
  transition: transform 0.2s ease;
  /* Optional: add a subtle shadow */
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

/* only affect the card columns inside your neon‐cards row */
.neon-cards > * {
  /* tweak gutters just for those columns */
  padding-left: 0.5rem;
  /* or whatever you like */
  padding-right: 0.5rem;
}

.card-link {
  margin-left: auto;
  color: #c8e8ff;
  font-size: 1.5rem;
  text-decoration: none;
  transition: transform 0.2s;
}

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

/* ─── Remove any default link underlines on the card wrapper ───────────────── */
.card-neon,
.card-neon:link,
.card-neon:visited,
.card-neon:hover,
.card-neon:active {
  text-decoration: none !important;
  color: inherit !important;
  /* preserve your title/arrow colors */
}

/* ─── Also force no underline on the inner text elements ──────────────────── */
.card-neon .card-title,
.card-neon .card-text,
.card-neon .card-link {
  text-decoration: none !important;
}

/* Responsive */

/* ─── 1) Navbar ─────────────────────────────────────────────────────────────── */
.navbar {
  background: #111 !important;
  padding: 10px;
  white-space: nowrap;
  border-radius: 10px;
  border: 0.5px solid #031f33;
  margin-bottom: 20px;
}

.navbar .navbar-brand-text {
  background: #ffffff;
  color: #eaf6ff !important;
  padding: 0.25rem 0.75rem;
  border-radius: 4px;
  font-weight: 500;
  font-size: 16px;
}

.navbar .nav-link {
  position: relative;
  color: #eaf6ff !important;
  margin-left: 1rem;
  text-decoration: none !important;
  font-size: 14px;
  font-weight: 500;
  padding: 10px 16px;
}

.divider-title {
  display: block;
  font-weight: 600;
  font-size: 16px;
  color: rgba(0, 122, 208, 1);
  margin-top: 10px;
}
.dashed-line {
  border-top: 1px dashed rgba(0, 122, 208, 1);
  width: 100%;
  margin: 0 auto;
}

.navbar .nav-link.active {
  font-weight: 700 !important;
  font-size: 16px !important;
  color: #fff !important; /* optional: highlight color */
}

.navbar .nav-active {
  font-weight: 700;
  font-size: 16px;
}

/* Apply font styles to the actual dropdown button inside active Admin menu */
.navbar .nav-link-admin.active .dropdown-toggle {
  font-weight: 700 !important;
  font-size: 16px !important;
  color: #fff !important;
}

/* Half circle (semicircle) ABOVE the nav link */
.navbar .nav-link.active::before {
  font-weight: 700;
  font-size: 16px;
  content: "";
  position: absolute;
  top: -15px;
  /* Move it up to sit on the navbar edge */
  left: 50%;
  transform: translateX(-50%);
  /* Only translate X, not Y */
  width: 24px;
  height: 12px;
  /* Much smaller height like in Figma */
  border-radius: 0 0 12px 12px;
  /* Adjusted border radius to match new width */
  background-color: #00aeff;
  box-shadow: 0 0 6px #00aeff, 0 0 12px #00aeff, 0 0 24px #00aeff;
}

/* --- Fix dropdown arrow alignment beside avatar --- */
.navbar .dropdown-toggle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  vertical-align: middle !important;
  padding: 0 !important;
  gap: 4px !important;
}

/* Reduce any line breaks that cause the arrow to drop below */
.navbar .dropdown-toggle::after {
  margin-left: 6px !important;
  vertical-align: middle !important;
  position: relative;
  top: 0 !important;
}

/* ✅ Fix: Align dropdown arrow beside avatar instead of below */
.navbar .dropdown {
  display: flex !important;
  align-items: center !important;
  margin-top: 0 !important; /* override inline margin-top: 7px */
}

.navbar .dropdown-toggle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  padding: 0 !important;
  margin-top: 0 !important;
}

.navbar .dropdown-toggle::after {
  margin-left: 6px !important;
  vertical-align: middle !important;
  position: relative;
  top: 0 !important;
}

.navbar .nav-link-admin.active::before {
  content: "";
  position: absolute;
  font-weight: 700;
  font-size: 16px;
  top: -15px;
  /* Move it up to sit on the navbar edge */
  left: 50%;
  transform: translateX(-50%);
  /* Only translate X, not Y */
  width: 24px;
  height: 12px;
  /* Much smaller height like in Figma */
  border-radius: 0 0 12px 12px;
  /* Adjusted border radius to match new width */
  background-color: #00aeff;
  box-shadow: 0 0 6px #00aeff, 0 0 12px #00aeff, 0 0 24px #00aeff;
}

.navbar-dark .navbar-nav .nav-link:hover {
  color: #00aeff !important;
  /* Choose any highlight color you like */
  text-decoration: underline;
  font-weight: 700;
  font-size: 16px;
  /* Optional: adds underline on hover */
}

/* ─── Enhanced Search Component Styles ─────────────────────────────────────── */
/* Fix for parent container overflow */

/* Search Component Styles */
.search-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  max-width: 816px;
  margin: 2rem auto;
  padding: 8px 0 8px 8px;
  border: 1px solid #031f33;
  border-radius: 16px;
  background: rgba(0, 0, 0, 0.1);
  box-shadow: 0px 0px 6px 0px #007ad0a3 inset;
}

/* .search-row::before {
  content: "";
  position: absolute;
  top: -8px;
  left: -8px;
  right: -8px;
  bottom: -8px;
  border: 0.5px solid var(--Colors-Green-1300, #031f33);
  border-radius: 18px; 
  pointer-events: none; 
} */

/* Add noise effect */

.VirtualizedSelectSelectedOption {
  font-weight: 400 !important;
  /* normal weight */
  font-size: 14px !important;
}

/* Dropdown Segment - Fixed Version */
.dropdown-search {
  flex: 0 0 200px;
  background: var(--Colors-Black-2000, #0c0c0c);
  border: none;
  border: 0.5px solid var(--Colors-Green-1000, #0b5992);
  border-radius: 8px;
  height: 36px;
  box-shadow: 0px 0px 18px 0px #007ad0a3 inset;
  width: 200px;
  position: relative;
  cursor: pointer;
  /* Added this */
}

.dropdown-search:hover {
  background: var(--Colors-Black-2000, #0c0c0c);
  box-shadow: 0px 0px 18px 0px #007ad0a3 inset;
}

/* Dropdown Internal Styling - Fixed */
.dropdown-search .Select {
  position: static !important;
}

/* Hide default dropdown arrow */
/* Hide default arrow */
.dropdown-search .Select-arrow,
.dropdown-search .Select-arrow-zone {
  display: none !important;
}

/* Force background image */
.dropdown-search .Select-control {
  background-image: url("/assets/arrow-downblue.svg") !important;
  background-repeat: no-repeat !important;
  background-position: right 10px center !important;
  background-size: 16px 16px !important;

  padding-right: 36px !important;
  min-height: 40px !important;
  background-color: #0c0c0c !important;
  border: 1px solid #0b5992 !important;
  border-radius: 8px !important;
  position: relative !important;
  z-index: 1 !important;
  cursor: pointer;
}

.Select--single > .Select-control .Select-value {
  align-content: center !important;
  text-align: center !important;
}

.has-value.Select--single > .Select-control .Select-value .Select-value-label {
  /* color: #c8e8ff; */
  font-size: 14px;
  font-weight: 500;
}

.dropdown-search .Select-value-container {
  padding: 0 1rem !important;
  height: 3.5rem !important;
  display: flex !important;
  align-items: center !important;
}

.dropdown-search .Select-single-value {
  color: var(--Colors-text, #d5efde) !important;
  font-weight: 500 !important;
}

.dropdown-search .Select-placeholder {
  color: var(--Colors-text, #d5efde) !important;
  opacity: 0.7 !important;
}

.dropdown-search .Select-input {
  color: var(--Colors-text, #d5efde) !important;
}

.dropdown-search .Select-arrow-zone {
  padding: 0 1rem !important;
}

/* Fixed Dropdown Menu Styling */
.dropdown-search .Select-menu-outer {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 9999 !important;
  background: #0c0c0c !important;
  border: 1px solid #007ad0 !important;
  border-top: none !important;
  border-radius: 0 0 4px 4px !important;
  margin-top: -4px !important;
  /* box-shadow: 0px 0px 1px 0px #4493ca inset !important; */
  max-height: 300px !important;
  overflow-y: auto !important;
}

.dropdown-search .Select-option {
  color: #d5efde !important;
  background: #007ad0a3 !important;
  padding: 10px 15px !important;
  cursor: pointer !important;
}

.dropdown-search .Select-option.is-focused {
  background: #007ad0a3 !important;
  /* box-shadow: 0px 0px 18px 0px #007AD0A3 inset; */
}

/* Input Segment */
.input-search {
  flex: 1;
  background: var(--Colors-Black-Alpha-10, rgba(0, 0, 0, 0.1));
  border: none;
  padding: 0 1rem;
  color: var(--Colors-text, #ffffff);
  font-size: 14px;
  /* height: 36px; */
  border-color: 0.5px solid #0095ff;
  border-radius: 8px;
  outline: none;
  transition: all 0.2s ease;
  width: 200%;
  /* max-width: 880px; */
  align-content: center;
}

.input-search:focus {
  background: var(--Colors-Black-Alpha-10, rgba(0, 0, 0, 0.1));
  color: var(--Colors-text, #ffffff);
}

.input-search::placeholder {
  color: var(--Colors-text, #bbdcf3);
  opacity: 0.7;
  font-style: italic;
}

.search-inner-box {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 8px;
  border: 1px solid #0b5992;
  box-shadow: 0px 0px 18px 0px #007ad0a3 inset;
  border-radius: 14px;
  background: #0c0c0c;
  width: -webkit-fill-available;
  padding-bottom: 11px;
  cursor: pointer;
}

/* Button Segment */
.search-button {
  padding: 6px 16px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  background: rgba(0, 0, 0, 0.1);
  border: 1px solid #007ad0;
  color: #ffffff;
  font-weight: 500;
  box-shadow: 0 0 18px #0096ff inset;
  cursor: pointer;
  font-size: 14px;
  transition: 0.2s ease;
  margin-right: 16px;
  position: relative;
  /* This keeps ::before inside */
  z-index: 1;
  /* overflow: hidden; */
}

.search-button::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: repeating-linear-gradient(
      0deg,
      rgba(0, 0, 0, 0.1) 0px,
      rgba(0, 0, 0, 0.1) 0.5px,
      transparent 0.5px,
      transparent 1px
    ),
    repeating-linear-gradient(
      90deg,
      rgba(0, 0, 0, 0.1) 0px,
      rgba(0, 0, 0, 0.1) 0.5px,
      transparent 0.5px,
      transparent 1px
    );
  opacity: 1;
  pointer-events: none;
  z-index: 0;
}

.search-button > * {
  position: relative;
  z-index: 1;
}

/* Icon Styling */
.search-button .bi-search {
  font-size: 1.1rem;
}

/* Loading State */
.search-button.loading {
  color: #a0d4a0;
  cursor: not-allowed;
}

.search-button.loading::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 20px;
  margin: -10px 0 0 -10px;
  border: 2px solid transparent;
  border-top: 0.5px solid var(--Colors-Green-800-primary, #007ad0);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/* only this specific row */
.neon-cards.g-3.justify-content-center.row {
  margin-top: -36px !important;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
  .main-header {
    flex-direction: column;
  }

  .video-content {
    margin-top: 1.5rem;
  }

  .navbar .nav-link.active::before {
    display: none !important;
  }

  .neon-cards {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .neon-cards .card-neon-container {
    width: 100%;
    max-width: 300px;
    margin-bottom: 1rem;
  }

  .search-row {
    flex-direction: column;
    align-items: stretch;
    padding: 1rem;
    gap: 1rem;
  }

  .search-inner-box {
    flex-direction: column;
    padding: 1rem;
    gap: 0.75rem;
    width: 100%;
    cursor: pointer;
  }

  .dropdown-search,
  .input-search,
  .search-button {
    max-width: none !important;
  }

  .search-button {
    justify-content: center;
    font-size: 14px;
    padding: 12px;
    border-radius: 8px;
  }

  .search-button span {
    display: inline;
    /* Show label even on mobile */
  }
}

@media (max-width: 480px) {
  .search-row {
    border-radius: 12px;
  }

  .dropdown-search {
    border-radius: 8px 8px 8px 8px;
  }

  .search-button {
    border-radius: 12px 12px 12px 12px;
  }

  .navbar .nav-link.active::before {
    display: none !important;
  }

  .search-button {
    padding: 10px;
    font-size: 14px;
  }
}

.search-heading {
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 1.1;

  text-align: center;
  background: linear-gradient(278.91deg, #ffffff 41.48%, #0095ff 111.64%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.searchsub-text {
  /* background: linear-gradient(278.91deg, #ffffff 41.48%, #0095ff 111.64%); */
  /* -webkit-background-clip: text; */
  /* background-clip: text; */
  color: #ffffff;
  line-height: 1.6;
  font-size: 12px;

  margin: 20px auto 0;
  text-align: center;
  width: 100%;
  max-width: 816px;
}

/* put this below your bootstrap.css import */

.container,
.container-fluid,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl {
  /* wipe out the default gutter paddings */
  padding-left: 0 !important;
  padding-right: 0 !important;

  /* remove the auto-margins */
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* 1) Erase the footer’s own background */
.footer {
  background: none !important;
}

/* 2) If you added a gradient on the footer’s row, clear that too */
.footer-row {
  background: black !important;
}

/* override Bootstrap’s default gutter variables */
.row {
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-top: 0 !important;
}

.main-header.align-items-center.row {
  margin-top: -10px !important;
}

.text-muted {
  font-size: 12px;
  color: #ffffff !important;
  font-weight: 500;
}

/* restore auto-sizing only inside .footer-row */
.footer-row > * {
  padding: 0 !important;
  padding: 0 !important;
}

.has-value.Select--single > .Select-control .Select-value .Select-value-label,
.has-value.is-pseudo-focused.Select--single
  > .Select-control
  .Select-value
  .Select-value-label {
  color: #c8e8ff;
  /* Change this to your preferred shade of blue, e.g., #00aeff */
  border: none !important;
}

.Select,
.Select div,
.Select input,
.Select span,
.ReactVirtualized__List,
.ReactVirtualized__Grid {
  font-size: 14px !important;
  box-sizing: border-box;
}

.VirtualSelectGrid {
  margin-top: 15px;
  z-index: 1;
  padding: 2px 4px;
}

.Select--single > .Select-control .Select-value,
.Select-placeholder {
  padding-left: 0 !important;
  /* padding-right: 10px; */
  text-align: center !important;
  align-content: center !important;
}

.has-value.Select--single > .Select-control .Select-value .Select-value-label {
  color: #c8e8ff;
  font-size: 14px;
  font-weight: 500;
  max-width: 10px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.search-video {
  width: 100%;
  max-width: 176px;
  height: auto;
  border-radius: 16px;
  object-fit: cover;
  display: block;
  margin: 20px auto 0;
  text-align: center;
}

.ai-textsearch {
  font-weight: 700;
  font-size: 3.5rem;
  text-align: center;
}

.video-content {
  display: flex;
  justify-content: center;
}

.dropdown-material {
  background-color: rgba(255, 255, 255, 0.1);
  color: #fff;
  border-radius: 8px;
  border: 1px solid #3a3a3a;
  padding: 0.5rem;
  max-width: 300px;
}

.custom-button {
  box-shadow: 0px 0px 18px 0px #55c17b9e inset;
  border-top: 0.5px solid #007ad0;
  background: linear-gradient(
    180deg,
    #0062a8 0%,
    #084571 35.58%,
    rgba(30, 30, 30, 0) 100%
  );
  width: 102px;
  height: 36px;
  gap: 10px;
  border-radius: 6px;
  border-width: 0px;
  padding-top: 8px;
  padding-right: 4px;
  padding-bottom: 8px;
  padding-left: 4px;
  color: white;
}

.search-row-container {
  width: 816px;
  height: 52px;
  display: flex;
  justify-content: space-between;
  border-radius: 12px;
  /* fallback: 6px */
  border: 0.5px solid var(--Colors-Green-1000, #0b5992);
  padding: var(--Spacing-4);
  /* fallback: 12px */
}

/* Responsive search row wrapper */
.responsive-search-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  /* gap: 10px; */
  justify-content: flex-start;
  padding: 10px;
  width: 100%;
  border-radius: 12px;
  border: 0.5px solid var(--Colors-Green-1000, #0b5992);
  max-width: 700px;
}

.newcode-search-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  justify-content: flex-start;
  padding: 10px;
  width: 816px;
  border-radius: 12px;
  border: 0.5px solid var(--Colors-Green-1300, #031f33);
  background: linear-gradient(
    101.27deg,
    rgba(23, 158, 255, 0.1) 3.02%,
    rgba(0, 34, 59, 0.1) 63.01%
  );
  max-width: 100%;
}

/* Small screens: center */
@media (max-width: 767px) {
  .search-responsive-wrapper {
    justify-content: center !important;
  }
}

/* Medium and up: left align */
@media (min-width: 768px) {
  .search-responsive-wrapper {
    justify-content: flex-start !important;
  }
}

@media (max-width: 768px) {
  .responsive-search-row {
    flex-direction: column;
    align-items: center;
    padding: 10px 12px;
    justify-content: flex-start !important;
  }

  .responsive-search-row .dropdown-search,
  .responsive-search-row .input-search {
    width: 100% !important;
  }

  .responsive-search-row .icon-button {
    width: 100%;
    display: flex;
    justify-content: center;
  }

  .responsive-search-row .icon-button img {
    width: 36px !important;
    height: 36px !important;
  }
}

@media (max-width: 768px) {
  .newcode-search-row {
    flex-direction: column;
    align-items: stretch;
  }

  .glow-button,
  .glow-input,
  .dropdown-button-wrapper,
  .dropdown-input-wrapper {
    width: 100% !important;
  }

  .glow-button {
    justify-content: center;
    text-align: center;
  }
}

/* Wrapper holds input and button */
.newcode-search-row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

/* Input area */
.dropdown-input-wrapper {
  flex: 1;
  min-width: 250px;
}

/* Button area */
.dropdown-button-wrapper {
  flex-shrink: 0;
}

/* Input styling */
.glow-input {
  width: 100%;
  padding: 10px;
  font-size: 14px;
  border-radius: 8px;
  border: 1px solid #495057;
  background-color: #1e2b3a;
  color: white;
}

/* Button styling */
.glow-button {
  padding: 10px 16px;
  font-size: 14px;
  border-radius: 8px;
  border: none;
  background-color: #3498db;
  color: white;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Responsive */
@media (max-width: 768px) {
  .newcode-search-row {
    flex-direction: column;
    align-items: stretch;
  }

  .dropdown-button-wrapper {
    width: 100%;
  }

  .glow-button {
    width: 100%;
    justify-content: center;
  }
}

/* Wrapper to control row behavior */
.responsive-search-export {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

/* On small screens, stack vertically */
@media (max-width: 768px) {
  .responsive-search-export {
    flex-direction: column;
  }
}

@media (max-width: 768px) {
  .export-responsive-wrapper {
    justify-content: center !important;
    margin-top: 10px;
  }
}

@media (max-width: 768px) {
  .d-flex.justify-content-end.w-100 {
    justify-content: center !important;
    margin-top: 12px;
  }
}

.glow-box {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  border: 0.5px solid var(--Colors-Green-1300, #031f33);
  background: linear-gradient(
    101.27deg,
    rgba(23, 158, 255, 0.1) 3.02%,
    rgba(0, 34, 59, 0.1) 63.01%
  );
  padding: 8px 20px 8px 8px;
  border-radius: 1rem;
  width: 100%;
}

.glow-input {
  background: transparent;
  width: 657px;
  height: 48px;
  border: 0.5px solid var(--Colors-Green-1000, #0b5992);
  border-radius: 14px;
  color: #e3ffed;
  box-shadow: 0px 0px 18px 0px #007ad0a3 inset;
  padding: 14px;
}

/* Button Segment */
.glow-button {
  display: flex;
  width: 111px;
  height: 40px;
  border: none;
  padding: 8px 16px 8px 16px;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--Colors-Black-0, #ffffff);
  background: var(--Colors-Black-Alpha-10, rgba(0, 0, 0, 0.1));
  border-top: 0.5px solid var(--Colors-Green-800-primary, #007ad0);
  border-radius: 8px;
  box-shadow: 0px 0px 21px 0px #0096ff inset;
  cursor: pointer;
  animation-duration: 0ms;
}

/* Container around input and suggestion dropdown */
.custom-dropdown-container {
  position: relative;
  width: 100%;
}

/* Search input box */
.glow-input {
  background: #0c0c0c;
  border: 0.5px solid #0b5992;
  border-radius: 8px;
  height: 2.4rem;
  box-shadow: inset 0px 0px 18px 0px #007ad0a3;
  color: #d5efde;
  padding: 0 1rem;
  width: 100%;
  font-size: 14px;
}

/* Dropdown suggestion box */
#dropdown-wrapper {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 9999;
  background: #0c0c0c;
  border: 1px solid #007ad0;
  border-top: none;
  border-radius: 0 0 8px 8px;
  width: auto;
  max-height: 300px;
  overflow-y: auto;
  margin-top: 0px;
  box-shadow: 0px 0px 18px 0px #007ad0a3 inset;
  padding: 10px;
  text-align: start;
}

/* Style for dropdown items */
#dropdown-wrapper .dropdown-item {
  padding: 8px 12px;
  cursor: pointer;
  color: #fff;
}

/* Highlight on hover */
#dropdown-wrapper .dropdown-item:hover {
  background-color: #1a252f;
  /* or any color you like */
}

/* Each suggestion item */
.custom-suggestion {
  color: #d5efde;
  padding: 10px 15px;
  cursor: pointer;
  font-size: 14px;
  transition: background 0.2s;
  border-bottom: 1px solid #0b5992;
}

.custom-suggestion:last-child {
  border-bottom: none;
}

.custom-suggestion:hover {
  background-color: #34495e;
  /* highlight on hover */
}

.selected-suggestion {
  display: inline-block;
  background-color: #2c3e50;
  padding: 4px 8px;
  margin: 2px;
  border-radius: 4px;
}

.remove-suggestion {
  margin-left: 6px;
  cursor: pointer;
  color: #e74c3c;
}

/* .selection-container {
  background: var(--Colors-Black-1800, #1e1e1e);
} */

.table-container {
  border: 1px solid var(--Colors-Green-1200, #062e4c);
}

/* Material Selection Custom CSS */
.custom-btn .mb-2 {
  margin-bottom: 0px !important;
}

.material-page-content {
  background-color: white !important;
}

/* .sidebar-content-container {
  height: auto;
} */

.sidebar-content-container .row > * {
  padding-right: 0px !important;
  padding-left: 0px !important;
}

.sidebar-content {
  /* height: 25.75rem;
  gap: 16px;
  margin-right: 24px !important;
  margin-left: 24px !important; */
  border: 1px solid var(--Colors-Green-1200, #062e4c);
  border-radius: 1.25rem;
  background: var(--Colors-Black-2000, #0c0c0c);
  padding: 10px;
  width: 100%;
  max-height: 412px;
}

.sidebar-content .col-4 {
  padding-right: 0px !important;
  padding-left: 0px !important;
}

.panel-wrapper {
  padding-left: 16px;
}

/* ✅ Mobile screens: less than 768px */
@media (max-width: 767.98px) {
  .sidebar-content {
    height: fit-content;
  }

  .sidebar-content .col-4 {
    width: 100%;
  }
}

/* ✅ Medium screens and above: 768px and up */
@media (min-width: 768px) {
  /* .sidebar-content .col-4 {
    width: fit-content !important;
  } */
}

.sidebar-content .col-6 {
  padding-right: 0px !important;
  padding-left: 0px !important;
}

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

.italic-placeholder::placeholder {
  font-style: italic;
  color: #aaa;
  /* optional: lighter color */
}

.list-item-group::-webkit-scrollbar {
  width: 12px;
  height: 12px;
}

.list-item-group::-webkit-scrollbar-thumb {
  /* Foreground */
  background: var(--scrollbar-foreground);
  background: #1e1e1e;
  border-radius: 999px;
  border: 3px solid transparent;
  background-clip: padding-box;
}

.list-item-group::-webkit-scrollbar-track {
  /* Background */
  background: var(--scrollbar-background);
  background: transparent;
}

img[alt="GRSE Logo"] {
  width: 100px !important;
  height: auto !important;
}

.dash-spinner-container {
  background-color: black !important;
}

._dash-loading {
  z-index: 9999;
}

.custom-dropdown {
  position: relative;
  width: 70%;
}

.custom-dropdown .Select-control {
  width: 100% !important;
  border: none !important;
}

.custom-dropdown .Select-placeholder {
  display: flex !important;
  justify-content: flex-start !important;
  padding-left: 5px !important;
}

.custom-dropdown .Select-control,
.custom-dropdown .Select-placeholder,
.custom-dropdown .Select-input {
  background: #0a0a0a !important;
  border: none !important;
  color: #eee !important;
  font-size: 15px;
}

.custom-dropdown .Select-multi-value-wrapper {
  display: flex;
  flex-wrap: wrap;
  max-height: 80px;
  /* 🔒 Fixed height */
  overflow-y: auto;
  /* ✅ Enable vertical scroll */
  overflow-x: hidden;
  /* Optional: disable horizontal scroll */
  padding-right: 4px;
  /* Add some space for scrollbar */
}

/* Optional: scrollbar style */
.custom-dropdown .Select-multi-value-wrapper::-webkit-scrollbar {
  width: 6px;
}

.custom-dropdown .Select-multi-value-wrapper::-webkit-scrollbar-thumb {
  background: #08f;
  border-radius: 4px;
}

/* Menu styling */
.Select-menu-outer {
  background: #111 !important;
  color: #eee !important;
  border: 1px solid #08f !important;
  border-radius: 4px !important;
  z-index: 9999 !important;
}

/* Each option in dropdown */
.Select-option {
  color: #fff !important;
  background: #111 !important;
  padding: 8px 12px !important;
  cursor: pointer;
}

/* Highlighted/hovered option */
.Select-option.is-focused {
  background: #0a58ca !important;
}

/* Selected tag styling (multi value) */
.custom-dropdown .Select--multi .Select-value {
  background: rgba(0, 136, 255, 0.2) !important;
  border: 1px solid #08f !important;
  border-radius: 4px !important;
  color: #0af !important;
  padding: 2px 6px !important;
  margin: 3px;
  cursor: pointer;
}

/* Tag label inside selected chip */
.custom-dropdown .Select--multi .Select-value-label {
  color: #0af !important;
  padding: 2px 5px !important;
  cursor: pointer;
}

/* Tag remove button (the little X) */
.custom-dropdown .Select--multi .Select-value-icon {
  color: #0af !important;
  border-left: 1px solid #08f !important;
  padding: 0 4px !important;
  cursor: pointer;
}

.custom-dropdown .Select--multi .Select-value-icon:hover {
  background: #08f !important;
  color: #fff !important;
  cursor: pointer;
}

/* Placeholder text */
.custom-dropdown .Select-placeholder {
  color: #888 !important;
  cursor: pointer;
}

/* General dropdown control styling */
.custom-dropdown .Select {
  background: #0a0a0a !important;
  border: 1px solid #0cf !important;
  border-radius: 8px !important;
  cursor: pointer;
}

/* Remove dropdown arrow indicator if you like */
.custom-dropdown .Select-arrow-zone {
  display: none !important;
  cursor: pointer;
}

.Select-input > input {
  background: none;
  border: 0;
  box-shadow: none;
  display: inline-block;
  font-family: inherit;
  font-size: inherit;
  margin: 0;
  line-height: 14px;
  padding: 8px 0 12px;
  -webkit-appearance: none;
  color: white;
}

.Select-clear {
  display: none;
  font-size: 20px;
  line-height: 1;
  color: #007ad0;
}

/* Fix for Select clear zone icon */
.Select-clear-zone {
  color: #2063e5 !important;
  animation: Select-animation-fadeIn 0.2s;
  display: table-cell;
  position: relative;
  vertical-align: middle;
  /* Match your multi clear zone width */
  text-align: center;
}

/* Alternative: Use a more stylized × */
.Select-clear-zone::after {
  content: "✕";
  font-size: 14px;
  font-weight: normal;
  line-height: 1;
  cursor: pointer;
  display: inline-block;
}

/* For multi-select clear zone */
.Select--multi .Select-clear-zone {
  width: 35px;
}

/* Hover effect for better UX */
.Select-clear-zone:hover::before {
  color: #1a52c7;
  transform: scale(1.1);
}

/* Ensure the clear zone is clickable */
.Select-clear-zone {
  cursor: pointer;
  user-select: none;
}

.search-buttonadmin {
  padding: 6px 24px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  background: rgba(0, 0, 0, 0.1);
  border: 1px solid #007ad0;
  color: #ffffff;
  font-weight: 500;
  box-shadow: 0 0 18px #0096ff inset;
  cursor: pointer;
  font-size: 14px;
  transition: 0.2s ease;
  margin-right: 16px;
  position: relative; /* This keeps ::before inside */
  z-index: 1;
  /* overflow: hidden; */
  white-space: nowrap;
}

.mt-40 {
  margin-top: 20px !important;
}

.btn-edit,
.btn-delete {
  border: none;
  border-radius: 4px;
  padding: 4px 8px;
  cursor: pointer;
  color: white;
  font-size: 14px;
}

.btn-edit {
  background-color: #007bff;
}

.btn-delete {
  background-color: #dc3545;
}

.btn-edit:hover {
  background-color: #0056b3;
}

.btn-delete:hover {
  background-color: #b02a37;
}

.selected-codes-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  background-color: #04141f;
  max-height: 150px;
  overflow-y: auto;
  height: 100%;
  padding: 10px;
  border-radius: 8px;
  margin-left: 16px;
}

.selected-code-title {
  margin-left: 16px;
}

.selected-codes-wrapper::-webkit-scrollbar {
  width: 12px;
  height: 12px;
}
.selected-codes-wrapper::-webkit-scrollbar-thumb {
  /* Foreground */
  background: var(--scrollbar-foreground);
  background: #f3efef;
  border-radius: 999px;
  border: 3px solid transparent;
  background-clip: padding-box;
}
.selected-codes-wrapper::-webkit-scrollbar-track {
  /* Background */
  background: var(--scrollbar-background);
  background: transparent;
}

.pill-item {
  /* background: #04141f; */
  /* border: 1px solid #2d2d2d; */
  /* border-radius: 20px; */
  color: #fff;
  padding: 6px 12px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.pill-text {
  font-size: 13px;
  color: #d0d0d0;
}

.pill-details {
  font-size: 12px;
  color: #888;
}

.pill-close-btn {
  background: #062e4c;
  border: none;
  color: #c8e8ff;
  cursor: pointer;
  font-weight: bold;
}

.btn-edit:hover {
  background-color: #00bfff;
}

.btn-delete:hover {
  background-color: #ff4500;
}

/* ✅ Force scrollbar visible for modal bodies */
.modal-body {
  scrollbar-width: thin !important; /* Firefox */
  -ms-overflow-style: auto !important; /* Edge/IE */
  overflow-y: auto !important; /* always allow vertical scroll */
}

/* ✅ Chrome, Edge, Safari custom scrollbar look */
.modal-body::-webkit-scrollbar {
  width: 8px !important;
}

.modal-body::-webkit-scrollbar-track {
  background: #0b1a2b !important;
}

.modal-body::-webkit-scrollbar-thumb {
  background-color: #00a2ff !important;
  border-radius: 10px !important;
  border: 2px solid #0b1a2b !important;
}

.modal-body::-webkit-scrollbar-thumb:hover {
  background-color: #66ccff !important;
}

.VirtualizedSelectFocusedOption {
  background-color: #007ad0 !important;
  color: white !important;
}

.error-text {
  font-size: 13px;
  color: #ff4c4c;
  margin-top: 4px;
  font-weight: 500;
}

.status-message {
  font-size: 14px;
  margin-top: 10px;
  text-align: left;
}

.password-toggle1 {
  cursor: pointer;
  margin-left: -25px;
  color: #aaa;
}

/* 🔹 Force cursor pointer on entire dropdown */
.dropdown-pointer .Select-control,
.dropdown-pointer .Select-placeholder,
.dropdown-pointer .Select-menu-outer {
  cursor: pointer !important;
}

/* Base dropdown background */
.navbar-expand-md .navbar-nav .dropdown-menu {
  background-color: black !important;
  border: 1px solid #0b5992 !important;
  border-radius: 8px !important;
  position: absolute;
}

/* Dropdown link color */
.navbar-expand-md .navbar-nav .dropdown-menu .dropdown-item {
  color: white !important;
  width: 95% !important; /* Full width inside dropdown */
  margin-left: 4px !important;
}

/* Hover effect: background blue, text white */
.navbar-expand-md .navbar-nav .dropdown-menu .dropdown-item:hover {
  background: #007ad0 !important;
  /* box-shadow: rgb(0, 150, 255) 0px 0px 21px 0px inset; */
  color: white !important;
}

/* 🔹 Blue Edit Button */
.button-edit {
  background-color: #007ad0;
  border: none;
  border-radius: 6px;
  color: #0096ff;
  font-family: "Montserrat", sans-serif;
  font-size: 0.85em;
  padding: 6px 12px;
  text-align: center;
  user-select: none;
  transition: all 0.2s ease;
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
.button-edit:hover {
  transform: scale(1.05);
  background-color: #0096ff;
}

/* 🔸 Red Delete Button */
.button-delete {
  background-color: #d62828;
  border: none;
  border-radius: 6px;
  color: #0096ff;
  font-family: "Montserrat", sans-serif;
  font-size: 0.85em;
  padding: 6px 12px;
  text-align: center;
  user-select: none;
  transition: all 0.2s ease;
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
.button-delete:hover {
  transform: scale(1.05);
  background-color: #ff4040;
}

/* 🔹 Remove blue row highlight when clicked */
.no-row-highlight .ag-row.ag-row-focus,
.no-row-highlight .ag-row.ag-row-selected {
  background-color: transparent !important;
}
.no-row-highlight .ag-row:hover {
  background-color: rgba(255, 255, 255, 0.05) !important;
}
