/* 🔲 GLOBAL RESET */
html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: black;
  font-family: "Times New Roman", Times, serif;
}

/* CUSTOM FONT */
@font-face {
  font-family: 'Merona Island Demo';
  src: url('merona-island-demo.regular.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
}

/* 🎬 FULLSCREEN VIDEO */
#heroVideo {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover; /* ensures video covers screen */
  cursor: pointer;   /* shows clickable cursor */
  z-index: 1;        /* behind logo and links */
}

/* 🔥 LOGO (LOGO.png) - STATIC */
#logo {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10; /* above video */
  display: flex;
  justify-content: center;
  align-items: center;
}

#logo img {
  height: 250px; /* adjust size as needed */
}

/* 🔗 BOTTOM LINKS */
#links {
  position: fixed;
  bottom: 20px;
  width: 100%;
  text-align: center;
  z-index: 10; /* above video */
}

#links a {
  color: white;
  text-decoration: none;
  margin: 0 20px;
  font-size: 1.2rem;
  font-family: 'Merona Island Demo', "Times New Roman", Times, serif; 
  transition: opacity 0.3s ease;
}

#links a:hover {
  opacity: 0.7; /* subtle hover effect */
}

/* CURSOR EMBERS */
.cursor-ember {
  position: fixed;
  border-radius: 50%;
  pointer-events: none;
  z-index: 5;
  animation: emberFall 1.5s linear forwards;
}

@keyframes emberFall {
  0% {
    opacity: 0.8;
    transform: scale(0.5);
  }
  10% {
    opacity: 1;
    transform: scale(1) translate(0, 0);
  }
  100% {
    opacity: 0;
    transform: translate(var(--drift-x, 0), var(--drift-y, 100px)) scale(0);
  }
}

/* 📱 RESPONSIVE ADJUSTMENTS */

/* Tablet styles (768px and below) */
@media (max-width: 768px) {
  #logo img {
    height: 180px; /* smaller logo for tablets */
  }
  
  #links a {
    font-size: 1rem; /* slightly smaller font */
    margin: 0 15px; /* tighter spacing */
  }
  
  #links {
    bottom: 15px; /* adjust bottom spacing */
  }
}

/* Mobile styles (480px and below) */
@media (max-width: 480px) {
  #logo img {
    height: 120px; /* much smaller logo for phones */
  }
  
  #links {
    bottom: 10px; /* closer to bottom */
    left: 50%;
    transform: translateX(-50%);
    width: auto; /* allow natural width */
  }
  
  #links a {
    font-size: 0.9rem; /* smaller font for mobile */
    margin: 0 8px; /* tighter spacing */
    padding: 8px; /* larger touch targets */
    min-width: 44px; /* minimum touch target */
    min-height: 44px; /* minimum touch target */
    display: inline-block;
  }
}

/* Very small screens (360px and below) */
@media (max-width: 360px) {
  #logo img {
    height: 100px; /* even smaller for tiny screens */
  }
  
  #links {
    bottom: 5px;
    text-align: left; /* left align for better spacing */
  }
  
/* Very small screens (360px and below) */
@media (max-width: 360px) {
  #logo img {
    height: 100px; /* even smaller for tiny screens */
  }
  
  #links {
    bottom: 5px;
    text-align: left; /* left align for better spacing */
  }
  
  #links a {
    font-size: 0.8rem; /* smallest font */
    margin: 2px 0; /* vertical spacing */
    padding: 6px; /* comfortable touch targets */
    display: block; /* stack vertically */
    width: 100%; /* full width */
    text-align: center; /* center text in blocks */
  }
}

/* Mobile-specific video optimizations */
@media (max-width: 768px) {
  #heroVideo {
    object-fit: cover; /* ensure video covers screen on mobile */
  }
  
  /* Prevent zoom on input focus */
  * {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
  }
  
  /* Allow text selection on links */
  #links a {
    -webkit-user-select: text;
    -khtml-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
    user-select: text;
  }
}