/* === Fonts === */
body {
  font-family: 'C64 Pro Mono', 'Courier New', Courier, monospace;
}

h1, h2, .bbs-title {
  font-family: 'C64 Pro', sans-serif;
}

/* === Section Titles === */
.hero-banner {
  padding: 2em;
  background-color: #000;
  color: #ffcc00;
  text-shadow: 0 0 5px #f60;
  max-width: 800px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.banner {
  width: 100%;
  height: auto;
}

.join-banner {
  padding: 2em;
  background-color: #000;
  color: #ffcc00;
  text-shadow: 0 0 5px #f60;
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}

.join-wrapper {
  position: relative;
  display: inline-block;
  width: 100%;
}

.join-img {
  width: 100%;
  height: auto;
  display: block;
}

.join-link {
  position: absolute;
  top: 70%;
  left: 70%;
  transform: translate(-50%, -50%);
  background: rgba(0, 0, 0, 0.55);
  color: #ffcc00;
  padding: 0.75em 1.5em;
  text-decoration: none;
  font-weight: bold;
  border: 2px solid #ff6600;
  border-radius: 6px;
  text-shadow: 0 0 5px #f60, 0 0 10px #ff3300;
  box-shadow: 0 0 15px #f60;
  transition: background 0.3s, color 0.3s, box-shadow 0.3s;
}

.join-link:hover {
  background: #ffcc00;
  color: #000;
  text-shadow: 0 0 10px #ff3300;
  box-shadow: 0 0 20px #ff6600, 0 0 40px #ff3300;
}

.join-link.flame-flicker {
  animation: flicker 1.5s infinite;
}

/* === BBS Grid Layout === */
.bbs-layout {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 2em;
  padding: 2em;
  flex-wrap: wrap;
}

.about-bbs {
  flex: 1 1 400px;
  max-width: 600px;
  background-color: #222;
  border: 1px solid #ff6600;
  padding: 1em;
  box-shadow: 0 0 10px #f60;
  font-family: 'C64 Pro Mono', monospace;
  color: #ffcc66;
}

.bbs-right {
  flex: 1 1 250px;
  max-width: 600px;
  display: flex;
  flex-direction: column;
  gap: 1em;
}

.ftn-networks {
  flex: 1 1 auto;
}

.ftn-stack {
  display: flex;
  flex-direction: column;
  gap: 1em;
}

.ftn-card,
.ftn-social {
  background-color: #222;
  border: 1px solid #ff6600;
  padding: 1em;
  box-shadow: 0 0 5px #f60;
  font-family: 'C64 Pro Mono', monospace;
  color: #ffcc66;
  animation: flicker 2s infinite;
}

@media (max-width: 500px) {
  .bbs-layout {
    flex-direction: column;
    align-items: center;
  }

  .about-bbs,
  .bbs-right {
    max-width: 100%;
  }
}

@@keyframes fireGlow {
  0% {
    text-shadow:
      0 0 8px #ff6600,
      0 0 16px #ff3300,
      0 0 24px #ff0000,
      0 0 32px #ff6600;
  }
  100% {
    text-shadow:
      0 0 12px #ffcc00,
      0 0 24px #ff6600,
      0 0 36px #ff3300,
      0 0 48px #ff0000;
  }
}

@keyframes flicker {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.85; }
  75% { opacity: 0.95; }
}

/* staggered flicker delays for cards */
.ftn-card:nth-child(1) { animation-delay: 0.2s; }
.ftn-card:nth-child(2) { animation-delay: 0.4s; }
.ftn-card:nth-child(3) { animation-delay: 0.6s; }

/* vertical divider between columns */
.bbs-layout::before {
  content: "";
  width: 4px;
  background: linear-gradient(to bottom, #ff6600, #ffcc00);
  box-shadow: 0 0 10px #f60;
  margin: 0 1em;
}

/* === Links === */
a {
  color: #ff6;
  text-decoration: none;
  text-shadow: 0 0 5px #f60;
  transition: color 0.3s ease, text-shadow 0.3s ease;
}

a:hover {
  color: #fff;
  text-shadow: 0 0 10px #ff3300;
}

/* === Images === */
img {
  max-width: 100%;
  height: auto;
  filter: drop-shadow(0 0 5px #f60);
}

/* === Flame Flicker === */
.flame-flicker {
  animation: flicker 1.5s infinite;
}

/* === Neon Glow === */
.neon-glow {
  color: #ffcc00;
  text-shadow: 0 0 5px #ff6600, 0 0 10px #ff3300;
}

/* === Glow Headers === */
.glow {
  font-family: 'C64 Pro', 'Verdana', 'Trebuchet MS', sans-serif; /* matches .font-retro */
  font-size: 1.6em;
  color: #ffcc00;
  margin-bottom: 0.5em;
  text-shadow:
    0 0 8px #ff6600,
    0 0 16px #ff3300,
    0 0 24px #ff0000,
    0 0 32px #ff6600;
  animation: fireGlow 2s infinite alternate, flicker 1.5s infinite;
}

/* Base icon style */
.ftn-card i,
.ftn-social i {
  font-size: 1.2em;
  margin-right: 0.5em;
  transition: transform 0.3s ease, text-shadow 0.3s ease;
}

/* Retro C64 color pops */
.bi-pc    { color: #6FBF49; }   /* green */
.bi-phone { color: #70A4B2; }   /* cyan */
.bi-plug  { color: #BF6E49; }   /* orange */
.bi-facebook { color: #6C5EB5; } /* purple */

/* Glow + hover effect */
.ftn-card i:hover,
.ftn-social i:hover {
  transform: scale(1.2);
  text-shadow: 0 0 5px #fff, 0 0 10px currentColor;
}
