/* Safari-specific fix for navbar text colors in light mode */

/* Force correct text colors in light mode for Safari */
[data-bs-theme="light"] .offcanvas .nav-link,
[data-bs-theme="light"] .offcanvas-body .nav-link,
html:not([data-bs-theme="dark"]) .offcanvas .nav-link,
html:not([data-bs-theme="dark"]) .offcanvas-body .nav-link {
  color: var(--bs-gray-700, #495057) !important;
}

/* Force correct text colors in dark mode for Safari */
[data-bs-theme="dark"] .offcanvas .nav-link,
[data-bs-theme="dark"] .offcanvas-body .nav-link {
  color: var(--bs-gray-100, #f8f9fa) !important;
}

/* Hover states for Safari */
[data-bs-theme="light"] .offcanvas .nav-link:hover,
[data-bs-theme="light"] .offcanvas-body .nav-link:hover,
html:not([data-bs-theme="dark"]) .offcanvas .nav-link:hover,
html:not([data-bs-theme="dark"]) .offcanvas-body .nav-link:hover {
  color: var(--bs-primary, #0d6efd) !important;
}

[data-bs-theme="dark"] .offcanvas .nav-link:hover,
[data-bs-theme="dark"] .offcanvas-body .nav-link:hover {
  color: var(--bs-primary, #6ea8fe) !important;
}

/* Active states for Safari */
[data-bs-theme="light"] .offcanvas .nav-link.active,
[data-bs-theme="light"] .offcanvas-body .nav-link.active,
html:not([data-bs-theme="dark"]) .offcanvas .nav-link.active,
html:not([data-bs-theme="dark"]) .offcanvas-body .nav-link.active {
  color: var(--bs-primary, #0d6efd) !important;
}

[data-bs-theme="dark"] .offcanvas .nav-link.active,
[data-bs-theme="dark"] .offcanvas-body .nav-link.active {
  color: var(--bs-primary, #6ea8fe) !important;
}

/* Dropdown items for Safari */
[data-bs-theme="light"] .offcanvas .dropdown-item,
html:not([data-bs-theme="dark"]) .offcanvas .dropdown-item {
  color: var(--bs-gray-700, #495057) !important;
}

[data-bs-theme="dark"] .offcanvas .dropdown-item {
  color: var(--bs-gray-100, #f8f9fa) !important;
}

/* Dropdown hover states for Safari */
[data-bs-theme="light"] .offcanvas .dropdown-item:hover,
html:not([data-bs-theme="dark"]) .offcanvas .dropdown-item:hover {
  color: var(--bs-gray-900, #212529) !important;
  background-color: var(--bs-gray-100, #f8f9fa) !important;
}

[data-bs-theme="dark"] .offcanvas .dropdown-item:hover {
  color: var(--bs-gray-100, #f8f9fa) !important;
  background-color: var(--bs-gray-700, #495057) !important;
}

/* Safari-specific media query fix */
@supports (-webkit-appearance: none) {
  /* This targets WebKit browsers (Safari, older Chrome) */
  .offcanvas .nav-link {
    color: inherit;
  }
  
  [data-bs-theme="light"] .offcanvas .nav-link {
    color: #495057 !important;
  }
  
  [data-bs-theme="dark"] .offcanvas .nav-link {
    color: #f8f9fa !important;
  }
}

/* Fix native select/option dropdown unreadable in dark mode.
   color-scheme on <html> tells the browser to render ALL native
   controls (select popups, scrollbars, etc.) with dark chrome. */
html[data-bs-theme="dark"] {
  color-scheme: dark !important;
}
html[data-bs-theme="light"],
html:not([data-bs-theme]) {
  color-scheme: light;
}

/* Force dark background/text on native <select> option elements.
   Browsers vary in how much CSS they apply to <option> popups,
   so we target every reasonable selector. */
[data-bs-theme="dark"] select,
[data-bs-theme="dark"] select option,
[data-bs-theme="dark"] .form-select,
[data-bs-theme="dark"] .form-select option {
  background-color: #1a1e2e !important;
  color: rgba(255, 255, 255, 0.85) !important;
  color-scheme: dark !important;
}
[data-bs-theme="dark"] select option:checked,
[data-bs-theme="dark"] .form-select option:checked {
  background-color: #6366f1 !important;
  color: #fff !important;
}

/* Fix Bootstrap dropdown menus in dark mode */
[data-bs-theme="dark"] .dropdown-menu {
  background-color: #1a1e2e !important;
  border-color: #2d3348 !important;
  color: rgba(255, 255, 255, 0.85) !important;
}
[data-bs-theme="dark"] .dropdown-item {
  color: rgba(255, 255, 255, 0.85) !important;
}
[data-bs-theme="dark"] .dropdown-item:hover,
[data-bs-theme="dark"] .dropdown-item:focus {
  color: #fff !important;
  background-color: rgba(255, 255, 255, 0.08) !important;
}
[data-bs-theme="dark"] .dropdown-divider {
  border-color: #2d3348 !important;
}

/* Additional Safari compatibility */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  /* Safari-only styles */
  .offcanvas-body .navbar-nav .nav-link {
    -webkit-text-fill-color: initial;
  }
  
  [data-bs-theme="light"] .offcanvas-body .navbar-nav .nav-link {
    -webkit-text-fill-color: #495057;
  }
  
  [data-bs-theme="dark"] .offcanvas-body .navbar-nav .nav-link {
    -webkit-text-fill-color: #f8f9fa;
  }
}