html, body {
  height: 100%;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

/* Fullscreen Alliance Background */
.site-bg {
  position: fixed;
  inset: 0;
  background: url("/assets/images/ally-bg.webp") no-repeat center center fixed;
  background-size: cover;
  z-index: -1;
}

/* Content container max width */
.guild-container {
  max-width: 1000px;
}

/* NAVBAR */

.guild-navbar {
  background: linear-gradient(90deg, #0b2545, #133c7a);
  border-bottom: 2px solid #2c6ed5;
  box-shadow: 0 0 15px rgba(0, 102, 255, 0.4);
}

.navbar-logo {
  height: 36px;
}

.guild-name {
  font-weight: 600;
  font-size: 1.1rem;
  color: #e6f0ff;
  text-shadow: 0 0 6px rgba(100, 160, 255, 0.8);
}

.nav-link {
  color: #cfe2ff !important;
}

.nav-link:hover {
  color: #ffffff !important;
  text-shadow: 0 0 6px #4da3ff;
}

/* CARDS */

.guild-card {
  background: linear-gradient(180deg, rgba(17, 45, 78, 0.95), rgba(12, 31, 53, 0.95));
  border: 1px solid #2c6ed5;
  box-shadow: 0 0 12px rgba(44, 110, 213, 0.4);
  color: #e6f0ff;
}

.guild-card .card-header {
  background: linear-gradient(90deg, #1a4c8f, #133c7a);
  border-bottom: 1px solid #2c6ed5;
  font-weight: 600;
}

/* TABLE */

.table-dark {
  background: transparent;
}

.table-dark th {
  background-color: #0b2545;
}

/* FOOTER */

.guild-footer {
  background: rgba(11, 37, 69, 0.9);
  border-top: 2px solid #2c6ed5;
  color: #cfe2ff;
  flex-shrink: 0;
}

/* MOBILE TWEAKS */

@media (max-width: 768px) {
  .navbar-logo {
    height: 30px;
  }
  .guild-name {
    font-size: 1rem;
  }
}

.main-content {
  flex: 1 0 auto; /* pushes footer to bottom */
}