/* Reset some defaults */
body, html {
  margin: 0;
  padding: 0;
  height: 100%;
}

/* Background */
body {
  background-color: #000000;
  background-image: url("/public_html/socials/assets/css/images/overlay.png"), linear-gradient(60deg, rgba(0, 0, 0, 0.64) 5%, rgba(28, 14, 14, 0.64)), url("/public_html/socials/images/bg.png");
  background-repeat: repeat, no-repeat, no-repeat;
  background-size: 100px 100px, cover, cover;
  background-position: top left, center center, bottom center;
  background-attachment: fixed, fixed, fixed;
}

/* Wrapper */
#wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100%;
  padding: 1.5em;
}

/* Main Section with Slower Glow */
#main {
  background: #100C08;
  border-radius: 20px;
  padding: 2em;
  width: 100%;
  max-width: 800px;
  text-align: center;
  opacity: 0.95;
  transition: opacity 0.2s ease;
  animation: slow-glow 5s ease-in-out infinite;
}

#main .avatar {
  position: relative;
  display: block;
  margin-bottom: 1em;
}

#main .avatar img {
  border-radius: 100%;
  width: 150px;
  height: 150px;
  margin: 0 auto;
  border: 6px solid transparent;
  background: linear-gradient(45deg, #6441A5, #FF0000, #1DB954, #7289DA) border-box;
  box-shadow: 0 0 0 1em #100C08;
}

/* Glowing Title */
h1.glow {
  color: #ffffff;
  animation: glow 3s ease-in-out infinite;
}

@keyframes glow {
  0%, 100% {
      text-shadow: 0 0 5px rgba(255, 255, 255, 0.3);
  }
  50% {
      text-shadow: 0 0 15px rgba(255, 255, 255, 0.7);
  }
}

@keyframes slow-glow {
  0%, 100% {
      box-shadow: 0 0 5px rgba(255, 255, 255, 0.3);
  }
  50% {
      box-shadow: 0 0 15px rgba(255, 255, 255, 0.7);
  }
}

/* Link Tree Styling */
.link-tree {
  margin: 2em 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.link-button {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0.75em 0;
  padding: 1em;
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
  text-decoration: none;
  font-size: 14pt;
  font-family: "Source Sans Pro", Helvetica, sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  border-radius: 10px;
  transition: all 0.3s ease;
  width: 100%;
  box-sizing: border-box;
}

.link-button i,
.link-button .link-icon {
  margin-right: 10px;
  font-size: 18pt; /* Matches Font Awesome size */
  transition: transform 0.3s ease;
}

.link-button .link-icon {
  width: 18pt; /* Size to match Font Awesome */
  height: 18pt;
  border-radius: 50%; /* Circular like avatar */
  object-fit: cover; /* Ensure image fits nicely */
}

.link-button:hover {
  background: rgba(255, 255, 255, 0.2);
  transform: translateY(-2px);
}

.link-button:hover i,
.link-button:hover .link-icon {
  transform: scale(1.2);
}

/* Iframe and Ad Containers */
.iframe-container, .ad-container {
  margin: 1em 0;
  border-radius: 10px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.1);
  padding: 10px;
  width: 100%;
}

/* Platform-specific colors */
.twitch { border: 1px solid #6441A5; }
.youtube { border: 1px solid #FF0000; }
.spotify { border: 1px solid #1DB954; }
.apple { border: 1px solid #A2AAAD; }
.music { border: 1px solid #FFD700; } /* Gold for music link */
.instagram { border: 1px solid #E1306C; }
.twitter { border: 1px solid #1DA1F2; }
.facebook { border: 1px solid #4267B2; }
.patreon { border: 1px solid #F96854; }
.amazon { border: 1px solid #FF9900; }
.discord { border: 1px solid #7289DA; }

/* Footer */
#footer {
  color: rgba(255, 255, 255, 0.75);
  text-align: center;
  padding: 1em 0;
}

#footer .copyright {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 0.9em;
}

#footer .copyright li {
  display: inline-block;
  margin: 0 0.45em;
  padding: 0 0.85em;
  border-left: solid 1px rgba(255, 255, 255, 0.5);
}

#footer .copyright li:first-child {
  border-left: 0;
}

/* Preload Animation */
body.is-preload #main {
  opacity: 0;
}

/* Responsive Adjustments */
@media screen and (max-width: 480px) {
  #main {
      padding: 1.5em;
      max-width: 100%;
  }
  
  .link-button {
      font-size: 12pt;
      padding: 0.8em;
  }
  
  .link-button i,
  .link-button .link-icon {
      font-size: 16pt; /* Matches Font Awesome on mobile */
      width: 16pt; /* For image */
      height: 16pt;
  }
  
  .iframe-container iframe {
      height: 250px;
  }
  
  .ad-container ins {
      width: 100%;
  }
}

@media screen and (min-width: 481px) {
  .iframe-container iframe {
      height: 300px;
  }
  
  .iframe-container iframe[src*="spotify"] {
      height: 380px;
  }
}