/* ===== Containers ===== */
#modules-container, #academic-container {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
  margin-top: 20px;
}

.locked-section {
  background: #1a1a3a;
  color: #ccc;
  padding: 30px 20px;
  margin: 30px auto;
  border-radius: 10px;
  text-align: center;
  max-width: 1000px;
  box-shadow: 0 2px 15px rgba(0,0,0,0.2);
  transition: transform 0.3s ease, background 0.3s ease;
}

.locked-section:hover {
  transform: scale(1.02);
  background: #23235a;
}

.lock-message a {
  color: #ffcc00;
  text-decoration: underline;
}

.lock-message a:hover {
  color: #ffd633;
}

/* ===== Cards ===== */
.module-card, .academic-card {
  background: #0a0a23;
  color: white;
  padding: 20px;
  border-radius: 10px;
  width: 250px;
  min-height: 120px;
  box-shadow: 0 3px 12px rgba(0,0,0,0.3);
  transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
  cursor: pointer;
  text-align: center;
}

.module-card:hover, .academic-card:hover {
  transform: scale(1.05);
  box-shadow: 0 6px 20px rgba(0,0,0,0.4);
  background: #151540;
}

.module-card h3, .academic-card h3 {
  margin-top: 0;
  font-size: 1.2rem;
}

.module-card span {
  display: block;
  margin-top: 8px;
  font-style: italic;
  color: #d1d1d1;
  font-size: 0.95rem;
}

/* ===== Header & Navbar ===== */
header {
  background: #0a0a23;
  color: white;
  padding: 15px 0;
  text-align: center;
}

header h1 {
  margin: 0;
  font-weight: 600;
  letter-spacing: 1px;
}

nav a {
  color: white;
  text-decoration: none;
  margin: 0 15px;
  font-weight: 500;
  transition: color 0.3s ease;
}

nav a:hover, nav a.active {
  color: #ffcc00;
}

.login-btn {
  font-weight: 600;
}

/* ===== Section Titles ===== */
section h2 {
  text-align: center;
  color: #0a0a23;
  margin-bottom: 10px;
}

.section-info {
  text-align: center;
  color: #555;
  margin-bottom: 20px;
  font-size: 1rem;
}

/* ===== Footer ===== */
footer {
  background: #0a0a23;
  color: white;
  text-align: center;
  padding: 15px;
  font-size: 0.95rem;
}

/* ===== Responsive ===== */
@media screen and (max-width: 768px) {
  #modules-container, #academic-container {
    flex-direction: column;
    align-items: center;
  }

  .module-card, .academic-card {
    width: 80%;
  }
}
