/* =========================
   GLOBAL TYPOGRAPHY (SAFE VERSION)
   ========================= */

/* Use HTML for base sizing (keeps Quarto grid stable) */
html {
  font-size: 16px;
}

body {
  line-height: 1.65;
}

/* Only target text, NOT layout containers */
p,
li {
  font-size: 1.05rem;
}

/* Headings */
h1 { font-size: 2.4rem; }
h2 { font-size: 2rem; }
h3 { font-size: 1.5rem; }


/* =========================
   NAVBAR BASE
   ========================= */

.navbar {
  background-color: #343963 !important;
  padding: 1rem 1.2rem !important;
  font-size: 1.2rem !important;
}

/* Brand */
.navbar-brand {
  font-size: 2rem !important;
  font-weight: 600 !important;
}

/* Nav links */
.navbar .nav-link,
.navbar-nav .nav-link,
.navbar a {
  color: #ffffff !important;
  font-size: 1.25rem !important;
  font-weight: 500 !important;
}

/* Hover state */
.navbar .nav-link:hover,
.navbar-nav .nav-link:hover,
.navbar a:hover {
  color: #C9A7A7 !important;
}

/* Active page */
.navbar .nav-link.active,
.navbar-nav .nav-link.active,
.navbar .nav-link[aria-current="page"] {
  color: #C9A7A7 !important;
}

/* Focus */
.navbar .nav-link:focus,
.navbar-nav .nav-link:focus {
  color: #C9A7A7 !important;
}

.navbar .nav-link.show {
  color: #C9A7A7 !important;
}


/* =========================
   GLOBAL LINKS
   ========================= */

a {
  color: #C9A7A7;
  font-size: 1.05rem;
  text-decoration: none;
  font-weight: 500;
}

a:hover {
  text-decoration: underline;
}

a:visited {
  color: #C9A7A7;
}

a:focus {
  color: #C9A7A7;
  outline: 2px solid #C9A7A7;
  outline-offset: 2px;
}


/* =========================
   SIDEBAR (SAFE)
   ========================= */

.sidebar,
.sidebar-nav,
.sidebar-menu {
  font-size: 1.05rem;
}


/* =========================
   SPACING IMPROVEMENTS
   ========================= */

p {
  margin-bottom: 1rem;
}

li {
  margin-bottom: 0.3rem;
}