/* Dark mode wrapper */
.fd-dark-wrapper.dark-mode { background-color: #333333 !important; color: #ffffff !important; }
.fd-dark-wrapper.dark-mode header a img { filter: brightness(0) invert(1); }

/* Links and headings */
.fd-dark-wrapper.dark-mode a,
.fd-dark-wrapper.dark-mode h1,
.fd-dark-wrapper.dark-mode h2,
.fd-dark-wrapper.dark-mode h3,
.fd-dark-wrapper.dark-mode h4,
.fd-dark-wrapper.dark-mode h5,
.fd-dark-wrapper.dark-mode h6 { color: #ffffff !important; }

/* All text, inputs, labels, tables */
.fd-dark-wrapper.dark-mode p,
.fd-dark-wrapper.dark-mode li,
.fd-dark-wrapper.dark-mode span,
.fd-dark-wrapper.dark-mode div,
.fd-dark-wrapper.dark-mode td,
.fd-dark-wrapper.dark-mode th,
.fd-dark-wrapper.dark-mode label,
.fd-dark-wrapper.dark-mode input,
.fd-dark-wrapper.dark-mode textarea,
.fd-dark-wrapper.dark-mode select { color: #ffffff !important; border-color: #666 !important; }

/* Input backgrounds */
.fd-dark-wrapper.dark-mode input,
.fd-dark-wrapper.dark-mode textarea,
.fd-dark-wrapper.dark-mode select { background-color: #333 !important; }

/* Mobile dropdown menu fixes */
.fd-dark-wrapper.dark-mode .menu-toggle,
.fd-dark-wrapper.dark-mode .mobile-menu,
.fd-dark-wrapper.dark-mode .sub-menu,
.fd-dark-wrapper.dark-mode .dropdown-menu,
.fd-dark-wrapper.dark-mode .nav-menu,
.fd-dark-wrapper.dark-mode .main-navigation div,
.fd-dark-wrapper.dark-mode #mobile-menu,
.fd-dark-wrapper.dark-mode #main-menu,
.fd-dark-wrapper.dark-mode [class*="menu"] { background-color: #333 !important; border-color: #333 !important; }

/* Menu items */
.fd-dark-wrapper.dark-mode .menu-item,
.fd-dark-wrapper.dark-mode .nav-item,
.fd-dark-wrapper.dark-mode .menu-toggle,
.fd-dark-wrapper.dark-mode li a { background-color: #333 !important; color: #ffffff !important; border-color: #333 !important; }

/* Menu item hover states */
.fd-dark-wrapper.dark-mode .menu-item:hover,
.fd-dark-wrapper.dark-mode .nav-item:hover,
.fd-dark-wrapper.dark-mode li a:hover,
.fd-dark-wrapper.dark-mode .menu-toggle:hover { background-color: #555 !important; color: #ffffff !important; }

/* Sub-menus and dropdowns */
.fd-dark-wrapper.dark-mode .sub-menu,
.fd-dark-wrapper.dark-mode .dropdown-menu { background-color: #555 !important; }
.fd-dark-wrapper.dark-mode .sub-menu li,
.fd-dark-wrapper.dark-mode .dropdown-menu li { background-color: #555 !important; }
.fd-dark-wrapper.dark-mode .sub-menu li a,
.fd-dark-wrapper.dark-mode .dropdown-menu li a { background-color: #555 !important; color: #ffffff !important; }

/* Toggle wrapper */
.fd-toggle-wrap { position: fixed; bottom: 20px; right: 20px; z-index: 9999; display: flex; align-items: center; gap: 8px; font-family: sans-serif; font-size: 14px; color: #333; padding: 6px 10px; border-radius: 20px; background: rgba(255, 255, 255, 0.9); border: 1px solid #333; box-shadow: 0 0 5px rgba(0, 0, 0, .15); }

/* Dark mode toggle wrapper */
.fd-dark-wrapper.dark-mode + .fd-toggle-wrap .fd-toggle-label { color: #fff !important; }
.fd-dark-wrapper.dark-mode + .fd-toggle-wrap { border: 1px solid #fff; background: rgba(51, 51, 51, 0.9); }

/* Switch styles */
.fd-switch { position: relative; display: inline-block; width: 50px; height: 28px; }
.fd-switch input { opacity: 0; width: 0; height: 0; }
.fd-slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #ccc; transition: .4s; border-radius: 28px; }
.fd-slider:before { position: absolute; content: ""; height: 22px; width: 22px; left: 3px; bottom: 3px; background-color: white; transition: .4s; border-radius: 50%; }
.fd-switch input:checked + .fd-slider { background-color: #4caf50; }
.fd-switch input:checked + .fd-slider:before { transform: translateX(22px); }