/* ===============================
   0) Design Tokens (CSS vars)
   =============================== */
:root {
  /* Colors */
  --color-primary: rgb(199, 0, 0);
  --color-secondary: rgb(145, 145, 145);
  --color-accent: rgb(201, 107, 0);
  --color-background: rgb(153, 153, 153);

  /* Commonly reused values from your styles */
  --color-text: rgb(190, 190, 190);
  --panel-bg: rgba(0, 0, 0, 0.5);
  --panel-hover-bg: rgb(100, 100, 100);

  /* Layout */
  --width-max: 1400px;
}

/* ===============================
   1) Base / Global
   =============================== */
body {
  background-image: url('/assets/images/fabled_background.jpg');
  margin: 0;
  display: flex;
  align-items: center;
  flex-direction: column;
}

h2 { margin: 0; }

main h1 {
  text-align: center;
  margin: 0;
}

/* ===============================
   2) Shell / Main View
   =============================== */
.main-view {
  display: flex;
  gap: 0.5em;
  width: 90%;
  max-width: var(--width-max);
  height: 93vh;
  background-color: rgba(255, 255, 255, 0.452);
  padding: 1em;
  border-radius: 0 0 1em 1em;
}

/* ===============================
   3) Navigation
   =============================== */
.nav-div {
  width: 100%;
  background-color: rgba(17, 0, 0, 0.9);
  display: flex;
  justify-content: center;
}

nav {
  width: 90vw;
  max-width: var(--width-max);
  display: flex;
  justify-content: center;

  a {
    color: #fff;
    padding: 0.7em 1em;
    border-radius: 8px;
    text-decoration: none;
    transition: background-color 0.3s ease;

    &:hover { background-color: rgba(250, 250, 250, 0.3); }
  }
}

.nav-current { color: var(--color-primary); }

/* ===============================
   4) Sidebar
   =============================== */
.sidebar {
  width: 22vw;
  max-width: 260px;
  flex: 0 0 22vw;
  background: var(--panel-bg);
  padding: 1em;
  border-radius: 0.5em 0 0 0.5em;
  color: var(--color-text);

  h2 { text-align: center; }

  .sidebar-item {
    background-color: var(--panel-bg);
    padding: 1em;
    border-radius: 0.5em;

    &:hover { background-color: var(--panel-hover-bg); }
  }

  .news-list {
    list-style: none;
    padding: 0;
    margin: 0.5rem 0 0;

    li { margin: 0.4rem 0; }

    small {
      display: block;
      opacity: 0.7;
      font-size: 0.85rem;
    }

    a {
      text-decoration: none;
      color: var(--color-text);
    }
  }
}

/* ===============================
   5) Main Content Area
   =============================== */
.main {
  flex: 1 1 auto;
  min-width: 0;
  background-color: var(--panel-bg);
  color: var(--color-text);
  border-radius: 0 0.5em 0.5em 0;
  padding: 2.5em;
}

/* ===============================
   6) Posts (lists, items, tags)
   =============================== */
.post-list {
  a {
    text-decoration: none;
    color: var(--color-text);
    padding: 1em;
  }
}

.post-item {
  background-color: var(--panel-bg);
  padding: 2em;
  border-radius: 0.5em;

  &:hover { background-color: rgba(100, 100, 100, 1); }
}

.post-tags {
  list-style: none;
  padding: 0;
  margin: 0.25rem 0 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;

  li {
    font-size: 0.85rem;
    padding: 0.15rem 0.5rem;
    border: 1px solid #e5e7eb;
    border-radius: 1rem;
    background: #f8fafc;
  }
}

/* ===============================
   7) Page-level meta / tags
   =============================== */
.page-meta { text-align: center; }

.page-tags {
  list-style: none;
  padding: 0;
  margin: 0.25rem 0 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;

  li {
    font-size: 0.85rem;
    padding: 0.15rem 0.5rem;
    border: 1px solid #e5e7eb;
    border-radius: 1rem;
    background: #f8fafc;
  }
}

/* ===============================
   8) Staff Page
   =============================== */
.staff-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.5rem;
  padding: 1rem 0;
}

.staff-card {
  background-color: var(--panel-bg);
  color: var(--color-text);
  padding: 1.5rem;
  border-radius: 0.5rem;
  text-align: center;
  transition: background-color 0.3s ease;
  border: 1px solid rgba(255, 255, 255, 0.05);

  &:hover {
    background-color: var(--panel-hover-bg);
  }

  .staff-name {
    margin: 0;
    color: var(--color-accent);
  }

  .staff-position {
    margin: 0.25rem 0 1rem;
    font-weight: 400;
    color: var(--color-secondary);
  }

  .staff-bio {
    font-size: 0.95rem;
    line-height: 1.5;
  }
}
