:root {
  --bg-color: #141416; /*#1a1a1d Very dark grey/black */
  --card-fg: #3a3f47; /* Slightly lighter for cards */
  --card-bg: #2c2f33; /* Slightly lighter for cards */
  --card-border: rgba(207, 181, 59, 0.3);
  --text-main: #e0e0e0; /* Off-white text */
  --accent-gold: #cfb53b;
  --border-color: #4a4a4a;
  --bg-color-2nd: #ccc;
  --text-main-high: #fff;
  --hover-shadow: rgba(255, 255, 255, 0.1);
  --hover-shadow-off-x: -4px;
  --hover-shadow-off-y: 10px;

  --navigation-height: 2rem;
  --navigation-width: 13rem;
  --navigation-padding: 0.5rem;
  --title-separation: 20px;
  --border-radius: 8px;
  --border-width: 1px;
  --min-width: 20%;
  --letter-spacing: 1px;
}
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
.no-show {
  display: none;
}

/* Sidebar Navigation */
nav {
  background-image: url("../Img/NavBar.png");
  background-size: 100% 100%;
}
nav {
  background-color: var(--bg-color);
  width: var(--navigation-width);
  height: 100%;
  padding-top: 50px;
}
.nav-collection {
  width: calc(100% - 2 * var(--navigation-padding));
  margin: auto;
  display: flex;
  flex-direction: column;
  gap: 3rem;
  align-items: center;
}
nav h2 {
  color: var(--accent-gold);
  font-family: "Cinzel", serif; /* Fantasy header font */
  text-align: center;
  letter-spacing: var(--letter-spacing);
}
nav h3 {
  color: var(--accent-gold);
  font-family: "Cinzel", serif; /* Fantasy header font */
  text-align: center;
  letter-spacing: var(--letter-spacing);
}
nav .nav-entries {
  width: calc(100% - 2 * var(--navigation-padding));
  margin: auto;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: center;
}
nav a {
  color: var(--text-main);
  font-size: 1.1rem;
  display: block;
  text-decoration: none;
  text-align: center;
  transition: ease-in 0.3s ease;
}
nav a:hover {
  background-color: var(--bg-color); /* var(--card-bg);*/
  border-color: var(--accent-gold);
  color: var(--text-main-high);
  padding: 0 var(--navigation-padding);
  border-width: 0 10px;
  border-style: solid;
}

/* Splitter Setup */
.container-resize {
  align-items: center;
  justify-content: center;
}
.flow-vertical {
  display: flex;
  flex-direction: column;
}
.resizer[data-direction="horizontal"] {
  background-color: var(--bg-color);
  height: 100%;
  width: calc(3 * var(--border-width));
  cursor: ew-resize;
}
.full-vertical {
  height: 100%;
}

/* Main Content Area */
.container {
  background-color: var(--bg-color);
  color: var(--text-main);
  height: 100vh;
  width: 100%;
  display: flex;
  font-family: "Lato", sans-serif;
}
.sub-page {
  background-color: var(--bg-color-2nd);
  width: 100%;
  height: 100%;
  border: unset;
}
main {
  width: 100%;
  overflow-y: scroll;
}
.main-page {
  width: 100%;
  height: 100%;
}
.home-img {
  width: 100%;
  height: 100%;
  background-image: url("../Img/Home.png");
  background-size: 100% 100%;
}

.read-more-link {
  background-color: var(--accent-gold);
  border-color: var(--bg-color);
  color: var(--bg-color);
  border-radius: 0 40% / 15%; /* Slightly organic shape */
  padding: var(--navigation-padding);
  text-decoration: none;
  font-weight: bold;
  border-style: solid;
}

.read-more-link:hover {
  background-color: var(--accent-gold);
  padding: var(--navigation-padding);
  /* background-color: #e6c34a; */
}
.page-container {
  padding: 2rem;
}
h1.page-title {
  color: var(--accent-gold);
  margin-bottom: var(--title-separation);
  font-family: "Cinzel", serif;
}

/* Grid layout for files */
.resource-grid {
  padding-bottom: 4rem;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 2rem;
}

/* Card styling to look like a grimoire page */
.resource-card {
  background-color: var(--card-bg);
  border-radius: var(--border-radius);
  text-decoration: none; /* Make the whole card clickable */
  overflow: hidden;
  cursor: pointer;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.resource-card:hover {
  box-shadow: var(--hover-shadow-off-x) var(--hover-shadow-off-y)
    var(--accent-gold);
  transform: translateY(
    calc(0 - var(--hover-shadow-off-y) - var(--hover-shadow-off-x))
  );
}

.card-image-placeholder {
  background-color: var(--card-fg);
  border-color: var(--card-border);
  color: var(--accent-gold);
  border-width: 0 0 2px 0;
  height: 12rem;
  font-family: "Cinzel", serif;
  display: flex;
  align-items: center;
  justify-content: center;
  border-style: solid;
}

.card-content {
  padding: 20px;
}

.card-title {
  font-weight: bold;
  color: var(--text-main-high);
  margin-bottom: 10px;
  display: block; /* For line-height control */
}
