/* ================== GLOBAL STYLES ================== */
body {
  font-family: Arial, sans-serif; /* Accessible font */
  line-height: 1.6; /* Improves readability */
  margin: 02px;
  background-color: #f9fafc; /* Soft background */
  color: #222; /* High contrast text */
}

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

.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem;
}

.skip-link {
  position: absolute;
  left: 0;
  background: #000;
  color: #fff;
}


.nav-logo {
  font-size: 1.5rem;
  font-weight: bold;
  color: #fff;
  text-decoration: none;
}

.nav-links {
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #2c3e50; /* Dark steel blue */
  color: #fff;
  padding: 1rem;
  border-radius: 2px;  
  gap: 1rem;
}

.nav-links a {
  color: #fff;
  text-decoration: none;
}

.nav-links a:hover,
.nav-links a:focus {
  text-decoration: underline;
}

.search-form input {
  padding: 0.5rem;
  border-radius: 4px;
  border: none;
}

.search-form button {
  background-color: #16a085; /* Teal */
  color: white;
  border: none;
  padding: 0.5rem 1rem;
  cursor: pointer;
  border-radius: 4px;
}
.search-form button:hover {
  background-color: #1abc9c; /* Lighter teal */
}


/* ================== INTRO ================== */
.intro {
  text-align: center;
  padding: 2rem;
}

/* ================== CARDS ================== */
.storyline-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.5rem;
  padding: 2rem;
}
.card {
  background-color: #ecf0f1; /* Light gray */
  padding: 1.5rem;
  border-radius: 10px;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
  transition: transform 0.2s ease-in-out;
}
.card:hover {
  transform: scale(1.05);
}
.card-link {
  text-decoration: none;
  color: inherit;
}
.card h2 {
  color: #8e44ad; /* Plum */
}
.card p {
  color: #34495e; /* Dark gray-blue */
}

/* ================== FOOTER ================== */
footer {
  background-color: #2c3e50;
  color: #fff;
  text-align: center;
  padding: 1rem;
  margin-top: 2rem;
}

/* ================== ACCESSIBILITY HELPERS ================== */
.sr-only {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
