/* Adding font */
@font-face {
    font-family: 'JetBrainsMono';
    src: url('/fonts/jetbrains_mono/JetBrainsMono-Regular.woff2') format('woff2');
    font-weight: normal;
}

/* Theme Variables */
:root {
    /* Dark theme (default) */
    --body-bg: #1e1e1e;
    --bg-primary: #1a1a1a;
    --text-primary: #ffffff;
    --text-secondary: #bbbbbb;
    --card-bg: #2d2d2d;
    --card-secondary-bg: #444444;
    --navbar-bg: rgba(33, 33, 33, 0.9);
    --link-color: #ffffff;
    --link-hover: #8f8f8f;
    --home-bg: #2E2E2E;
    --button-bg: #f8f9fa;
}

:root[data-theme="light"] {
    /* Light theme */
    --body-bg: #ffffff;
    --bg-primary: #ffffff;
    --text-primary: #000000;
    --text-secondary: #444444;
    --card-bg: #f8f9fa;
    --card-secondary-bg: #e0e0e0;
    --navbar-bg: rgba(248, 249, 250, 0.9);
    --link-color: #000000;
    --link-hover: #666666;
    --home-bg: #f0f0f0;
    --button-bg: #2f2f2f;
}

/* Universal Settings */
html, body {
    font-family: 'JetBrainsMono', monospace;
    font-weight: normal;
    background-color: var(--body-bg);
    color: var(--text-primary);
    margin: 0;
    padding: 0;
    width: 100%;
    overflow-x: hidden;
    scroll-behavior: smooth;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

section{
    background-color: var(--body-bg);
    color: var(--text-primary);
    min-height: 50vh;
    display: flex;
    align-items: center;
    padding: 40px 0;
    margin-top: 56px;
    scroll-margin-top: 70px;
}

/* Navbar Styling */
.navbar {
    position: fixed;
    top: 0;
    z-index: 1030;
    background-color: var(--home-bg);
    padding: 15px 0;
    box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);
}

/* Default link color */
.navbar.navbar-dark .navbar-nav .nav-link {
    color: var(--link-color);
    transition: color 0.3s ease;
}

.navbar.navbar-dark .navbar-brand {
    color: var(--link-color);
    transition: color 0.3s ease;
}

/* Brand hover */
.navbar.navbar-dark .navbar-brand:hover {
    color: var(--link-hover);
    text-decoration: none; /* keeps it clean */
}

.navbar #themeToggle {
    font-size: 1.25rem;
    color: var(--link-color);
    background: none;
    border: none;
    cursor: pointer;
}

.theme-toggle i {
    color: var(--link-color);
    font-size: 1.25rem;
    transition: color 0.3s ease;
    cursor: pointer;
}

.theme-toggle i:hover {
    color: var(--link-hover);
}

/* Navbar brand */
.navbar-brand {
    font-size: 1.75rem;
    font-weight: bold;
    color: var(--link-color);
}

.navbar-brand:hover {
    color: var(--link-hover);
    text-decoration: none;
}

.navbar.navbar-dark .navbar-nav .nav-link:hover {
    color: var(--link-hover);
    text-decoration: none;
}

/* Navbar links */
.navbar-nav .nav-link {
    font-size: 1.1rem;
    margin-left: 20px;
    color: var(--link-hover);
    transition: color 0.3s ease;
}

.navbar.navbar-dark .navbar-nav .nav-link.active {
    color: var(--link-hover);
}

/* Mobile Menu Styling */
.navbar-dark .navbar-toggler {
    color: var(--text-primary);
    border-color: var(--home-bg);
}

.navbar-toggler-icon {
    background-color: var(--link-color);
}

.theme-toggle {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    color: var(--link-color);
    font-size: 1.25rem; /* adjust icon size */
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.3s ease;
}

.theme-toggle:focus {
    outline: 2px solid var(--link-hover); /* accessible focus */
    outline-offset: 2px;
}

.language-dropdown{
  min-width: 100%;
  width: 100%;
  box-sizing: border-box;
}

.language-dropdown-button{
  width: 100%;
  color: var(--text-primary);
}

.language-dropdown-button:hover {
    color: var(--link-hover);
}

.language-dropdown-mobile {
  position: relative;
  display: inline-block;
}

.language-dropdown-mobile .dropdown-menu {
  position: absolute !important;
  top: 100%;
  left: 0;
  right: auto;
  transform: none !important;
  margin-top: 0.25rem;
  z-index: 1055;
  min-width: 100%;
  width: auto;
  box-sizing: border-box;
}

#themeToggleMobile {
  padding: 0.375rem 0.5rem;
}

.language-dropdown-button-mobile {
  padding: 0.375rem 0.5rem;
}

.language-dropdown-button-mobile {
    width: 100%;
    color: var(--text-primary);
}

.language-dropdown-button-mobile:hover {
    color: var(--link-hover);
}
/* End of Navbar Styling */