/* GENERAL PAGE STYLING */
body {
  background: 
    repeating-linear-gradient(
      45deg,
      rgba(255,255,255,0.02) 0px,
      rgba(255,255,255,0.02) 1px,
      transparent 1px,
      transparent 10px
    ),
    linear-gradient(to bottom, #1a1310 0%, #2b1d14 100%);
  color: #e3d3b8;
  font-family: 'Courier New', monospace;
  margin: 0;
  padding: 0;
  text-align: center;
  line-height: 1.5;
}

/* TITLE & SUBTITLE */
.title {
  font-size: 2em;
  font-weight: normal;
  margin: 10px 0 5px 0;
  text-shadow: 1px 1px 0 #4e3a2d;
}

.subtitle {
  font-size: 1em;
  color: #c2a27a;
  text-shadow: 1px 1px 0 #4e3a2d;
  margin-bottom: 15px;
}

/* TOP BANNER */
.top-banner {
  font-size: 1.2em;
  margin: 10px auto;
  color: #c2a27a;
  letter-spacing: 3px;
  animation: sway 4s infinite ease-in-out alternate;
}

@keyframes sway {
  0% { transform: rotate(-2deg); }
  50% { transform: rotate(2deg); }
  100% { transform: rotate(-2deg); }
}

/* BATS */
.bat-container {
  margin: 5px auto;
}

.bat {
  width: 40px;
  image-rendering: pixelated;
  animation: fly 6s infinite linear alternate;
}

@keyframes fly {
  0% { transform: translateY(0px); }
  50% { transform: translateY(-3px); }
  100% { transform: translateY(0px); }
}

/* MAIN CONTENT LAYOUT */
.content-wrapper {
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: center;
  margin: 20px 0;
}

@media screen and (min-width: 768px) {
  .content-wrapper {
    flex-direction: row;
    justify-content: center;
    gap: 40px;
  }
}

/* BOXES */
.box {
  background-color: #1a1310;
  border: 4px solid #4e3a2d;
  padding: 15px;
  width: 90%;
  max-width: 280px;
  box-shadow: 0 0 8px #3a2a1f;
  text-align: center;
}

.vintage-box {
  border-image: url('pixel-border.png') 4 stretch; /* optional pixel frame */
}

/* PIXEL DIVIDER */
.divider {
  width: 200px;
  display: block;
  margin: 15px auto;
  image-rendering: pixelated;
}

/* LINKS */
a {
  color: #c2a27a;
  text-decoration: none;
  transition: all 0.3s ease;
  font-weight: normal;
}

a:hover {
  color: #fffacd;
  text-shadow: 0 0 5px #fffacd, 0 0 8px #c2a27a;
  transform: translateY(-1px);
}

/* MARQUEE */
.marquee {
  color: #c2a27a;
  font-weight: normal;
  font-size: 0.9em;
  margin: 15px 0;
}

/* VINTAGE HR */
.vintage-hr {
  border: none;
  height: 2px;
  background: repeating-linear-gradient(
    to right,
    #4e3a2d,
    #4e3a2d 5px,
    #1a1310 5px,
    #1a1310 10px
  );
  margin: 15px 0;
}

/* FOOTER */
.footer {
  color: #c2a27a;
  margin: 15px 0;
  font-size: 0.85em;
}

.footer-icon {
  width: 28px;
  vertical-align: middle;
  image-rendering: pixelated;
  margin-right: 5px;
}

/* MAIN CONTENT LAYOUT */
.content-wrapper {
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: center;
  margin: 20px 0;
}

@media screen and (min-width: 768px) {
  .content-wrapper {
    flex-direction: row;
    justify-content: center;
    align-items: stretch; /* makes all boxes equal height */
    gap: 40px;
  }
}

/* BOXES */
.box {
  background-color: #1a1310;
  border: 4px solid #4e3a2d;
  padding: 15px;
  width: 90%;
  max-width: 280px;
  box-shadow: 0 0 8px #3a2a1f;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 180px; /* ensures a baseline height */
}

.vintage-box {
  border-image: url('pixel-border.png') 4 stretch; /* optional pixel frame */
}

