/* GENERAL RESET */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* BODY AND HTML */
html, body {
  height: 100%; /* Ensures the body takes up the full height */
  display: flex;
  flex-direction: column; /* Stack items vertically */
  background: black;
  font-family: "Press Start 2P", monospace;
  overflow: hidden; /* Disable scrolling */
}

/* VIDEO — TOP PRIORITY */
#bg-video {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  object-fit: cover;
  z-index: 0; /* Video stays at the bottom */
}

/* VIGNETTE */
.vignette {
  position: fixed;
  inset: 0;
  z-index: 1;
  background: rgba(0, 0, 0, 0.60);  /* Solid black with opacity */
}

/* UI (Content) */
.ui {
  position: relative;
  z-index: 2;
  flex-grow: 1; /* Ensures the UI takes up all available space */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 22px;
  color: rgb(255, 255, 255);
}

/* LOGO */
.logo-img {
  position: relative;
  width: 260px;
  image-rendering: pixelated;
  filter: drop-shadow(4px 4px 0 #000);
  animation-name: floating;
  animation-duration: 3s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
  transition: transform 0.3s ease;
}

@keyframes floating {
  0% {
    transform: translate(0, 0px);
  }
  50% {
    transform: translate(0, -8px);
  }
  100% {
    transform: translate(0, 0px);
  }
}

.logo-img:hover {
  animation: none;
  transform: scale(1.1);
  filter: drop-shadow(6px 6px 15px rgba(0, 0, 0, 0.7));
}

/* MENU */
.menu {
  width: 420px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.mc-btn {
  height: 44px;
  background: #6F6F6F;
  border-top: 2px solid #afafaf;
  border-left: 2px solid #cac8c8;
  border-bottom: 2px solid #383838;
  border-right: 2px solid #383838;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  outline-style: solid;
  outline-color: rgb(0, 0, 0);
  outline-width: 2px;
  text-shadow: 2px 2px 0 #000;
}

.mc-btn:hover {
  background-color: #444343;
  border-color: #c2c2c2;
  transform: scale(1.05);
}
.mc-btn:hover {
  box-shadow: 0px 0px 15px rgba(255, 255, 255, 0.6);
}

.mc-btn:focus {
  outline: none;
}

.row {
  display: flex;
  gap: 8px;
}

.row .mc-btn {
  flex: 1;
}

.mute {
  width: 190px;
  margin: 8px auto 0;
  padding: 10px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

/* TOAST */
.toast {
  visibility: hidden;
  min-width: 250px;
  margin-left: -125px;
  background-color: #333;
  color: #fff;
  text-align: center;
  border-radius: 2px;
  padding: 16px;
  position: fixed;
  z-index: 1;
  top: 30px;
  left: 57%;
  transform: translateX(-50%);
  font-size: 17px;
  opacity: 0;
  transition: opacity 0.5s, top 0.5s ease-in-out;
}

.toast.show {
  visibility: visible;
  opacity: 1;
  top: 50px;
}

/* FOOTER SECTION */

.footer {
  background-color: rgba(26, 26, 26, 0.1);  /* Semi-transparent black background */
  color: #727272;
  padding: 10px 0;
  font-weight: bold;
  font-family: "Press Start 2P", monospace;
  position: relative;
  z-index: 4; /* Ensures it's above the video background */
  backdrop-filter: blur(0px);  /* Adds blur effect to the background */
  text-align: center;  /* Centers the text horizontally */
}

.footer-content {
  display: flex;
  flex-direction: column;  /* Stacks the text vertically */
  align-items: center;  /* Ensures the text is centered horizontally */
}

.footer-content p {
  margin: 5px 0;  /* Adds some space between the paragraphs */
  font-size: 8px;  /* Adjust font size if needed */
  text-shadow: 2px 2px rgb(0, 0, 0);
}

/* POPUP STYLES */
.popup {
  display: none;  /* Initially hidden */
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #ccc;
  border-radius: 8px;
  border-top: 4px solid #afafaf;
  border-left: 4px solid #cac8c8;
  border-bottom: 4px solid #383838;
  border-right: 4px solid #383838;
  padding: 25px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
  z-index: 1000;
  width: 500px; /* Adjust the width if necessary */
  height: 300px;
  text-align: center;
  color: #fff;
  font-family: 'Press Start 2P', monospace;
  font-size: 18px;
  justify-content: center;  
}
.popup-header {
    text-shadow: 3px 3px rgb(0, 0, 0);
}

.popup-title {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 15px;
}

.popup-buttons {
  padding-top: 30px;
  width: 420px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.popup-close {
  margin-top: 30px;
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 10px;
  padding-top: 10px;
  background-color: #6F6F6F;
  border: 2px solid #666;
  color: white;
  cursor: pointer;
  text-align: center;
  font-size: 12px;
  text-shadow: 2px 2px 0 #000;
  border-radius: 4px;
  border-top: 4px solid #afafaf;
  border-left: 4px solid #cac8c8;
  border-bottom: 4px solid #383838;
  border-right: 4px solid #383838; 
  box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.7);
}

.popup-close:hover {
  background-color: #555;
}