/* FetaLinks brand palette — Figma accents */
:root,
[data-bs-theme=light] {
  --brand-primary: #004D40;
  --brand-primary-rgb: 0, 77, 64;
  --brand-primary-hover: #003830;
  --brand-primary-active: #002E27;
  --brand-teal: #2DD4BF;
  --brand-teal-rgb: 45, 212, 191;
  --brand-teal-hover: #14B8A6;
  --brand-amber: #F59E0B;
  --brand-amber-rgb: 245, 158, 11;
  --brand-amber-hover: #D97706;

  --bs-teal: #2DD4BF;
  --bs-yellow: #F59E0B;
  --bs-primary: #004D40;
  --bs-primary-rgb: 0, 77, 64;
  --bs-warning: #F59E0B;
  --bs-warning-rgb: 245, 158, 11;
  --bs-primary-text-emphasis: #00332B;
  --bs-primary-bg-subtle: #D4EDE8;
  --bs-primary-border-subtle: #A8D5CC;
  --bs-warning-text-emphasis: #92400E;
  --bs-warning-bg-subtle: #FEF3C7;
  --bs-warning-border-subtle: #FCD34D;
  --bs-link-color: #004D40;
  --bs-link-color-rgb: 0, 77, 64;
  --bs-link-hover-color: #003830;
  --bs-link-hover-color-rgb: 0, 56, 48;
  --bs-focus-ring-color: rgba(0, 77, 64, 0.25);
}

[data-bs-theme=dark] {
  --bs-primary: #2DD4BF;
  --bs-primary-rgb: 45, 212, 191;
  --bs-primary-text-emphasis: #5EEAD4;
  --bs-primary-bg-subtle: #042F28;
  --bs-primary-border-subtle: #0F766E;
  --bs-warning: #F59E0B;
  --bs-warning-rgb: 245, 158, 11;
  --bs-link-color: #2DD4BF;
  --bs-link-color-rgb: 45, 212, 191;
  --bs-link-hover-color: #5EEAD4;
  --bs-link-hover-color-rgb: 94, 234, 212;
}

/* Primary buttons */
.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #004D40;
  --bs-btn-border-color: #004D40;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #003830;
  --bs-btn-hover-border-color: #00362D;
  --bs-btn-focus-shadow-rgb: 0, 77, 64;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #00362D;
  --bs-btn-active-border-color: #002E27;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #004D40;
  --bs-btn-disabled-border-color: #004D40;
}

.btn-outline-primary {
  --bs-btn-color: #004D40;
  --bs-btn-border-color: #004D40;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #004D40;
  --bs-btn-hover-border-color: #004D40;
  --bs-btn-focus-shadow-rgb: 0, 77, 64;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #004D40;
  --bs-btn-active-border-color: #004D40;
  --bs-btn-disabled-color: #004D40;
  --bs-btn-disabled-border-color: #004D40;
}

.btn-warning {
  --bs-btn-color: #000;
  --bs-btn-bg: #F59E0B;
  --bs-btn-border-color: #F59E0B;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #D97706;
  --bs-btn-hover-border-color: #D97706;
  --bs-btn-focus-shadow-rgb: 245, 158, 11;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #B45309;
  --bs-btn-active-border-color: #B45309;
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #F59E0B;
  --bs-btn-disabled-border-color: #F59E0B;
}

.btn-primary-soft {
  color: #004D40;
  background-color: rgba(0, 77, 64, 0.1);
}
.btn-primary-soft:active,
.btn-primary-soft:hover,
.btn-primary-soft:focus {
  color: #fff !important;
  background-color: #004D40 !important;
  border-color: #004D40 !important;
}

.btn-primary-soft-hover:hover:hover {
  color: #004D40 !important;
  background-color: rgba(0, 77, 64, 0.1);
}

.btn-warning-soft {
  color: #B45309;
  background-color: rgba(245, 158, 11, 0.12);
}

.btn-main,
.wo_following_btn {
  color: #fff;
  background-color: #004D40;
  border-color: #003830;
}
.btn-main:hover,
.wo_following_btn:hover {
  color: #fff;
  background-color: #003830;
  border-color: #004D40;
}

[data-bs-theme=dark] .btn-primary {
  --bs-btn-color: #004D40;
  --bs-btn-bg: #2DD4BF;
  --bs-btn-border-color: #2DD4BF;
  --bs-btn-hover-color: #004D40;
  --bs-btn-hover-bg: #14B8A6;
  --bs-btn-hover-border-color: #14B8A6;
  --bs-btn-active-bg: #0D9488;
  --bs-btn-active-border-color: #0D9488;
  --bs-btn-active-color: #004D40;
  --bs-btn-disabled-color: #004D40;
  --bs-btn-disabled-bg: #2DD4BF;
  --bs-btn-disabled-border-color: #2DD4BF;
}

[data-bs-theme=dark] .btn-outline-primary {
  --bs-btn-color: #2DD4BF;
  --bs-btn-border-color: #2DD4BF;
  --bs-btn-hover-color: #004D40;
  --bs-btn-hover-bg: #2DD4BF;
  --bs-btn-hover-border-color: #2DD4BF;
  --bs-btn-active-bg: #2DD4BF;
  --bs-btn-active-border-color: #2DD4BF;
  --bs-btn-disabled-color: #2DD4BF;
  --bs-btn-disabled-border-color: #2DD4BF;
}

[data-bs-theme=dark] .btn-primary-soft {
  color: #2DD4BF;
  background-color: rgba(45, 212, 191, 0.12);
}
[data-bs-theme=dark] .btn-primary-soft:active,
[data-bs-theme=dark] .btn-primary-soft:hover,
[data-bs-theme=dark] .btn-primary-soft:focus {
  color: #004D40 !important;
  background-color: #2DD4BF !important;
  border-color: #2DD4BF !important;
}

.nav-pills {
  --bs-nav-pills-link-active-color: #fff;
  --bs-nav-pills-link-active-bg: #004D40;
}
[data-bs-theme=dark] .nav-pills {
  --bs-nav-pills-link-active-color: #004D40;
  --bs-nav-pills-link-active-bg: #2DD4BF;
}


/* Forms */
.form-control:focus,
.form-select:focus,
.form-check-input:focus {
  border-color: #004D40;
  box-shadow: 0 0 0 0.2rem rgba(0, 77, 64, 0.2);
}

.form-check-input:checked {
  background-color: #004D40;
  border-color: #004D40;
}

.form-check-input:focus {
  box-shadow: 0 0 0 0 rgba(0, 77, 64, 0.25);
}

[data-bs-theme=dark] .form-control:focus,
[data-bs-theme=dark] .form-select:focus,
[data-bs-theme=dark] .form-check-input:checked {
  border-color: #2DD4BF;
}

[data-bs-theme=dark] .form-check-input:checked {
  background-color: #2DD4BF;
}

/* Navbar / dropdown / pagination leftovers */
.navbar {
  --bs-navbar-hover-color: #004D40;
  --bs-navbar-active-color: #004D40;
}
.dropdown-menu {
  --bs-dropdown-link-hover-color: #004D40;
  --bs-dropdown-link-active-color: #004D40;
}
.pagination {
  --bs-pagination-hover-bg: #004D40;
  --bs-pagination-hover-border-color: #004D40;
  --bs-pagination-active-bg: #004D40;
  --bs-pagination-active-border-color: #004D40;
}
.list-group {
  --bs-list-group-active-bg: #004D40;
  --bs-list-group-active-border-color: #004D40;
}

.fill-primary {
  fill: #004D40 !important;
}

.icon_main {
  stroke: #004D40 !important;
}
.icon_main_fill {
  fill: #004D40 !important;
}

/* Notification badges — Amber accent */
.badge-notif {
  background: #F59E0B;
}
.badge.bg-danger.animation-blink,
.nav-link .badge.bg-danger,
.badge-accent {
  background-color: #F59E0B !important;
}

/* Chat FAB uses teal on the light canvas */
.open_chat_button.position-fixed.btn-primary {
  background-color: #2DD4BF !important;
  border-color: #2DD4BF !important;
  color: #004D40 !important;
}
.open_chat_button.position-fixed.btn-primary:hover {
  background-color: #14B8A6 !important;
  border-color: #14B8A6 !important;
  color: #004D40 !important;
}

/* People-you-may-know + buttons — Bright teal */
.who_to_follow .send_frnd_req.btn-primary-soft,
.who_to_follow .send_frnd_req.btn-primary {
  background-color: #2DD4BF !important;
  border-color: #2DD4BF !important;
  color: #fff !important;
}
.who_to_follow .send_frnd_req.btn-primary-soft:hover,
.who_to_follow .send_frnd_req.btn-primary:hover {
  background-color: #14B8A6 !important;
  border-color: #14B8A6 !important;
  color: #fff !important;
}

/* Story create card */
.create-story-card {
  width: 110px;
  flex-shrink: 0;
}
.add_story_box {
  height: 160px;
  overflow: hidden;
  background: #eef0f2;
  position: relative;
  margin: 0;
}
.add_story_box:before {
  display: none;
}
.create-story-avatar {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: 50%;
  display: block;
}
.add_story_box .add_btn {
  position: absolute;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  z-index: 2;
}
.add_story_box .btn-primary,
.add_btn .btn-primary {
  background-color: #2DD4BF !important;
  border-color: #fff !important;
  color: #004D40 !important;
}

/* Greeting card */
.daytime_message {
  border-left: 3px solid #004D40 !important;
}
.daytime_message .greeting-icon {
  color: #F59E0B !important;
}

/* Upload dropzones in create post */
.image-upload-container:hover,
.image-upload-container.dragover,
.video-upload-container:hover,
.video-upload-container.dragover {
  border-color: #004D40 !important;
  background-color: rgba(0, 77, 64, 0.06) !important;
}
.upload-icon {
  color: #004D40 !important;
}

/* Left navigation — Deep primary sidebar (Figma) */
.main_sidebar .left_sidebar .card {
  background: #004D40;
  border: 0;
  color: #fff;
  border-radius: 1rem;
}
.main_sidebar .left_sidebar .card .small,
.main_sidebar .left_sidebar .card .small a,
.main_sidebar .left_sidebar .card .text-reset {
  color: rgba(255, 255, 255, 0.65) !important;
}
.main_sidebar .left_sidebar .card-body {
  padding: 1rem 0.75rem;
}
.main_sidebar .left_sidebar .card-body > .d-flex {
  display: block;
}
.main_sidebar .left_sidebar .nav {
  align-items: stretch;
  width: 100%;
  gap: 0.35rem;
}
.main_sidebar .left_sidebar .nav-item {
  width: 100%;
}
.main_sidebar .left_sidebar .nav-item-logout {
  margin-top: 0.75rem;
  padding-top: 0.5rem;
}
.main_sidebar .left_sidebar .nav-link {
  display: grid;
  grid-template-columns: 18px auto;
  align-items: center;
  justify-content: start;
  justify-items: start;
  column-gap: 0.65rem;
  color: rgba(255, 255, 255, 0.9) !important;
  border-radius: 999px;
  padding: 0.55rem 0.9rem !important;
  line-height: 1;
  min-height: 40px;
  width: 100%;
  box-sizing: border-box;
}
.main_sidebar .left_sidebar .nav-link span,
.main_sidebar .left_sidebar .nav-link i,
.main_sidebar .left_sidebar .nav-link .icon {
  color: inherit !important;
}
.main_sidebar .left_sidebar .nav-link span {
  line-height: 1.2;
  display: block;
  margin: 0;
  padding: 0;
  text-align: left;
  white-space: nowrap;
}
.main_sidebar .left_sidebar .nav-link img.icon,
.main_sidebar .left_sidebar .nav-link i {
  width: 18px;
  height: 18px;
  margin: 0 !important;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  line-height: 1;
}
.main_sidebar .left_sidebar .nav-link img.icon {
  object-fit: contain;
  filter: brightness(0) invert(1);
  opacity: 0.92;
}
.main_sidebar .left_sidebar .nav-link:hover {
  background: rgba(45, 212, 191, 0.18);
  color: #fff !important;
}
.main_sidebar .left_sidebar .nav-link.active {
  background: #2DD4BF;
  color: #004D40 !important;
  font-weight: 700;
}
.main_sidebar .left_sidebar .nav-link.active img.icon {
  filter: none;
  opacity: 1;
}

#offcanvasSideNavbar .btn-close {
  filter: invert(1) grayscale(1);
}

@media (max-width: 991.98px) {
  .main_sidebar #offcanvasSideNavbar {
    background: #004D40;
  }
  #offcanvasSideNavbar .offcanvas-header {
    background: #004D40;
  }
}

.job-filters {
  flex: 0 1 auto;
}
.job-filter-search.nav-search {
  width: 200px;
  max-width: 200px;
  flex: 0 0 200px;
}
.job-filter-search.nav-search > .form-control {
  height: 2.25rem;
  padding-block: 0.25rem;
  padding-inline: 2.15rem 0.75rem;
  font-size: 0.875rem;
}
.job-filter-search .nav-search-btn {
  inset-inline-start: 0.7rem;
  font-size: 0.9rem;
}
.job-filter-category {
  width: 150px;
  max-width: 150px;
  flex: 0 0 150px;
  height: 2.25rem;
}

.header-theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: inherit;
  font-size: 1.25rem !important;
}
.header-theme-toggle:hover,
.header-theme-toggle:focus {
  color: #004D40;
}
[data-bs-theme=dark] .header-theme-toggle:hover,
[data-bs-theme=dark] .header-theme-toggle:focus {
  color: #2DD4BF;
}

/* FetaLinks wordmark — same lockup as the landing page */
.fl-brand {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  line-height: 1;
}
.fl-brand-mark {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: #2DD4BF;
  color: #004D40;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.95rem;
  flex-shrink: 0;
}
.fl-brand-name {
  font-weight: 700;
  letter-spacing: -0.2px;
  color: #004D40;
  font-size: 1.15rem;
  font-family: Inter, "Noto Sans Ethiopic", "Nyala", Kefa, sans-serif;
}
.navbar-brand .fl-brand-name,
.logo .fl-brand-name {
  color: #004D40;
}
.fl-brand--on-dark .fl-brand-name,
[data-bs-theme=dark] .fl-brand-name {
  color: #fff;
}
.navbar-brand:hover .fl-brand-name,
.logo:hover .fl-brand-name,
a:hover > .fl-brand .fl-brand-name {
  color: #003830;
}
[data-bs-theme=dark] .navbar-brand:hover .fl-brand-name,
a:hover > .fl-brand--on-dark .fl-brand-name {
  color: #fff;
}

.header-lang-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: inherit;
  font-size: 0.85rem !important;
  font-weight: 700;
  text-decoration: none;
  line-height: 1;
}
.header-lang-toggle:hover,
.header-lang-toggle:focus {
  color: #004D40;
}
[data-bs-theme=dark] .header-lang-toggle:hover,
[data-bs-theme=dark] .header-lang-toggle:focus {
  color: #2DD4BF;
}
.lang-toggle-badge {
  font-size: 0.82rem;
  letter-spacing: 0.5px;
  display: inline-block;
}

/* Localized file inputs styling */
.custom-file-wrap {
  position: relative;
  display: flex;
  align-items: stretch;
  width: 100%;
  background-color: var(--bs-body-bg, #fff);
  border: 1px solid var(--bs-border-color, #dee2e6);
  border-radius: var(--bs-border-radius, 0.375rem);
  overflow: hidden;
  min-height: calc(1.5em + 0.75rem + 2px);
  cursor: pointer;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
.custom-file-wrap:focus-within {
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.custom-file-wrap .form-control[type="file"] {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  cursor: pointer !important;
  z-index: 5 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}
.custom-file-wrap .custom-file-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.375rem 0.85rem;
  background-color: var(--bs-tertiary-bg, #f8f9fa);
  color: var(--bs-body-color, #212529);
  border-inline-end: 1px solid var(--bs-border-color, #dee2e6);
  font-size: 0.875rem;
  font-weight: 400;
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
  transition: background-color 0.2s ease-in-out;
}
.custom-file-wrap:hover .custom-file-btn {
  background-color: var(--bs-secondary-bg, #e9ecef);
}
.custom-file-wrap .custom-file-text {
  display: inline-flex;
  align-items: center;
  padding: 0.375rem 0.85rem;
  color: var(--bs-secondary-color, #6c757d);
  font-size: 0.875rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1 1 auto;
  min-width: 0;
  pointer-events: none;
  user-select: none;
}
.custom-file-wrap .custom-file-text.has-file {
  color: var(--bs-body-color, #212529);
  font-weight: 500;
}
