@charset "utf-8";
/* DemonLEDNinja v1.0 | CSS */

body {
	background: #000;
	color: #fff;
	margin: 0;
	font-family: "Open Sans", sans-serif;
    font-size: 16px;
    line-height: 1.65;
}

html {
    scroll-behavior: smooth;
}

a {
    color: inherit;
    text-decoration: none;
    transition: color 0.25s ease;
}

a:hover {
    color: #64b7b4;
}

h1 {
	font-family: 'Metal Mania', cursive;
	font-size: 70px;
	text-transform: uppercase;
	font-weight: 400;
    margin: 0 0 20px;
    line-height: 1.1;
}

h2 {
	font-family: 'Metal Mania', cursive;
	font-size: 48px;
	font-weight: 400;
    margin: 0 0 20px;
    line-height: 1.1;
    text-align: center;
}

h3 {
	font-family: 'Metal Mania', cursive;
	font-size: 18px;
	color: #000;
	text-transform: uppercase;
	font-weight: 400;
    margin: 0 0 20px;
    line-height: 1.1;
}

.subheader {
	font-family: 'Metal Mania', cursive;   
	font-size: 18px;
    letter-spacing: 2px;
    text-align: center;
	margin-bottom: 20px;
}

section {
	scroll-margin-top: 200px;
}

.section-icon {
    display: flex;
    justify-content: center;
    width: 100%;
}

.section-icon img {
    width: 40px;
    height: auto;
    margin-bottom: 10px;
}

.btn {
	font-family: 'Metal Mania', cursive;
	display: inline-flex;
    padding: 5px 32px;
    font-size: 16px;
    text-decoration: none;
	text-transform: uppercase;
    transition: background-color .25s ease, color .25s ease, border-color .25s ease;
    cursor: pointer;
 	border-radius: 20px 20px 0 20px;
    align-items: center;
    justify-content: center;
    gap: 3px;
}

.btn-primary {
    background: rgba(255,255,255,0.5);
    color: #fff;
}

.btn-primary:hover {
    background: rgba(0,153,145,0.5);
    color: #fff;
}

.btn-secondary {
    background: #fff;
    color: #000;
}

.btn-secondary:hover {
    background: rgba(0,153,145,0.5);
    color: #fff;
}

/* Button Icon */
.btn .btn-icon {
    width: 18px;
    height: auto;
    margin-left: 8px;
    transition: transform 0.2s ease;
}

.btn:hover .btn-icon {
    transform: rotate(15deg);
}

/* =========================================
  FLOAT NOTICE
========================================= */
.float-wrap {
    position: fixed;
    right: 25px;
    bottom: 25px;
    z-index: 9999;
    animation: floaty 4s ease-in-out infinite;
}

.float-notice {
    position: relative;
    right: 155px;
	bottom: 105px;
    max-width: 225px;
    padding: 20px;
    font-family: 'Metal Mania', cursive;
    font-size: 18px;
    color: #fff;
    background: rgba(0,0,0,0.5);
    box-shadow:
        0 12px 30px rgba(0,0,0,.6);
	border-radius: 20px 20px 0px 20px;
	border: 1px solid #333;
}

.moogle {
    position: absolute;
    right: -10px;
    bottom: -10px;
    height: 225px;
    width: auto;
    z-index: 2;
    pointer-events: none;
    filter: drop-shadow(0 10px 20px rgba(0,0,0,.5));
}

@keyframes floaty {
    0%,100% { transform: translateY(0); }
    50%     { transform: translateY(-6px); }
}

/* =========================================
   SITE CONTENT CONTAINER
========================================= */
.container {
    width: 100%;
    max-width: 1140px;
    margin: 0 auto;
}

/* =========================================
   HEADER
========================================= */
.site-header {
	position: fixed;
    top: 0;
    z-index: 9999;
    width: 100%;
    font-family: 'Metal Mania', cursive;
}

.header-top {
    height: 65px;
    background: #000;
    display: flex;
    align-items: center;
}

.header-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Social Media Icons */
.header-left img {
    height: 24px;
    margin-right: 5px;
}

.header-left img:hover {
    filter: brightness(0.2) invert(1);
}

/* Join LEDNinja Text */
.header-center {
    font-size: 18px;
    text-align: center;
}

/* Subscriber Login */
.header-right a {
    color: #fff;
    text-decoration: none;
    font-size: 18px;
}

.header-right a:hover {
    filter: brightness(0.2) invert(1);
}
 
.header-right img {
    height: 22px;
    margin-left: 6px;
}

/* ==================================
   NAV/LOGO BAR
================================== */
.header-bottom {
    height: 165px;
    background: rgba(0,0,0,0.5);
    backdrop-filter: none;
    display: flex;
    align-items: center;
	position: relative;
    z-index: 10;
}

.header-bottom-inner {
    text-align: center;
}

.site-logo {
    width: 300px;
    margin: 0 auto;
    display: block;
    opacity: 0;
}

@keyframes logoFlash {
    0%   { opacity: 0; }
    10%  { opacity: 1; }
    20%  { opacity: 0.3; }
    30%  { opacity: 1; }
    40%  { opacity: 0.6; }
    55%  { opacity: 1; }
    70%  { opacity: 0.8; }
    100% { opacity: 1; }
}

.logo-animate {
    animation: logoFlash 0.45s linear forwards; /* fast, crispy flicker */
}

.main-nav {
    margin-top: 15px;
    display: flex;
    justify-content: center;
    gap: 45px;
}

.main-nav a {
    color: #fff;
    text-decoration: none;
    font-size: 18px;
    transition: color 0.25s ease;
}

.main-nav a:hover {
    color: #00ffd5;
}

.main-nav a.active {
  color: #64b7b4;
}

/* ---- Special Link ---- */
.main-nav-special {
  color: #00ffd5 !important;
  position: relative;
}

.main-nav-special::after {
  content: '';
  position: absolute;
  left: -2px;
  bottom: 1px;
  width: 110%;
  height: 3px;
  background: linear-gradient(90deg, transparent, #19d3c5, transparent);
  border-radius: 999px;
  opacity: 0;
  transform: scaleX(0);
  transition: opacity .25s ease, transform .25s ease;
}

.main-nav-special:hover::after {
  opacity: .7;
  transform: scaleX(1);
}

/* =========================================
   HERO
========================================= */
.hero {
    position: relative;
    width: 100%;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    overflow: hidden;
}

.hero-bg {
    position: absolute;
    inset: 0;
    background: url('images/hero.png') center/cover no-repeat;
    z-index: 0;
}

.hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0.25) 95%, rgba(0,0,0,0.6) 100%);
    z-index: 1;
}

.hero-content {
    position: relative;
    z-index: 2;
    text-align: left;
    padding-top: 230px;
    max-width: 700px;
}

.hero-subtext {
    font-size: 18px;
    margin-bottom: 25px;
    color: #fff;
    opacity: 0.9;
}

/* ============================
   LORE SECTION
============================ */
.lore-section {
    padding: 120px 0;
    color: #fff;
}

.lore-section .container {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.lore-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    text-align: left;   /* only the paragraphs left align */
    width: 100%;
    max-width: 1140px;  /* matches your site width */
    margin-top: 20px;
}

/* Responsive stacking */
@media (max-width: 900px) {
    .lore-content {
        grid-template-columns: 1fr;
    }
}

/* =========================================
   SUBS SECTION
========================================= */
.subs {
    background: url('images/sub-bg.png') center/cover no-repeat;
    padding: 100px 20px;
    text-align: center;
    position: relative;
    z-index: 2;
}

.subs-intro {
    max-width: 900px;
    margin: 0 auto 20px;
    font-size: 16px;
    opacity: 0.9;
}

.subs-note {
    margin-bottom: 30px;
    font-size: 16px;
    color: #ddd;
}

.subs-tiers {
    display: flex;
    justify-content: center;
    gap: 60px;
    margin-top: 40px;
    flex-wrap: wrap;
}

.tier-card {
    width: 280px;
    text-align: center;
}

.tier-image {
    position: relative;
    width: 100%;
    height: 380px;
    perspective: 1000px;
    margin-bottom: 20px;
}

.tier-image img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
	border: 3px solid #fff;
    transition: opacity .4s ease, transform .4s ease;
}

.tier-front { opacity: 1; }
.tier-back  { opacity: 0; }

.tier-image:hover .tier-front {
    opacity: 0;
}

.tier-image:hover .tier-back {
    opacity: 1;
}

.tier-text {
    font-size: 16px;
    margin-bottom: 20px;
	color: #000;
}

.subs-login {
    margin-top: 60px;
    text-align: center;
}

.subs-login a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 18px;
    font-family: 'Metal Mania', cursive;
    color: #000;
    text-decoration: none;
}

.subs-login a:hover {
    opacity: 0.8;
}

.subs-login-icon {
    width: 24px;
    height: auto;
}

/* =========================================
   SHOP SECTION
========================================= */
.shop {
    background: url('images/shop-bg.png') center bottom/cover no-repeat;
    padding: 50px 0;
}

.shop h2 {
    color: #000;
    margin-bottom: 60px;
}

.shop-item {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 80px;
    margin-bottom: 80px;
}

.shop-img img {
    width: 260px;
    height: auto;
}

.shop-info {
    max-width: 500px;
}

.shop-sub {
    margin: 0 0 15px;
    font-size: 14px;
    opacity: 0.9;
	color: #000;
}

.shop-info p {
    line-height: 1.6;
    margin-bottom: 12px;
	color: #000;
}

shop-info h3:hover {
	color: #009991;
}

/* Light text version (for dark background area) */
.shop-light .shop-info h3,
.shop-light .shop-info p,
.shop-light .shop-info .shop-sub,
.shop-light .shop-info a {
    color: #fff !important;
}

.shop-light .shop-info h3:hover {
    color: #009991 !important;
}

/* =========================================
   TWITCH SECTION
========================================= */
.twitch-section {
    background: url('images/twitch-bg.png') top center/cover no-repeat;
    padding: 100px 0 150px;
    text-align: center;
}

.twitch-section .section-icon img {
    width: 50px;
    margin-bottom: 20px;
}

.twitch-title {
    margin-bottom: 30px;
	letter-spacing: 2px;
}

.twitch-title a {
    color: #fff;
    text-decoration: none;
}

.twitch-title a:hover {
    color: #64b7b4;
}

/* Twitch embed box */
.twitch-embed {
    width: 80%;
    max-width: 1200px;
    height: 515px;
    margin: 0 auto;
    background: #000;
    overflow: hidden;
}

.twitch-embed iframe {
    width: 100%;
    height: 100%;
    border: none;
    display: block;
	border-radius: 30px;
}


/* ============================
   TIKTOK SECTION
============================ */
.tiktok-section {
	background: #000;
	padding: 100px 0 0;
	text-align: center;
}

.tiktok-title {
    margin-bottom: 30px;	
	letter-spacing: 2px;
}

.tiktok-title a {
    color: #fff;
    text-decoration: none;
}

.tiktok-title a:hover {
	color: #64b7b4;
}

.tiktok-embed-wrap {
	max-width: 1200px;
	margin: 0 auto 80px;
	/* position: relative;
	border-radius: 40px;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.5); */
}

/* TikTok embed */
.tiktok-embed {
	margin: 0 auto !important;
	border-radius: 30px;
}

/* =========================================
   NEWSLETTER SECTION
========================================= */
.newsletter {
    background: url('images/newsletter-bg.png') center/cover no-repeat;
    min-height: 100vh;              /* Make section fill the screen */
    display: flex;                  /* Center everything */
    flex-direction: column;
    justify-content: center;        /* Vertical centering */
    align-items: center;            /* Horizontal centering */
    text-align: center;
    padding: 0px 20px;             /* Optional extra breathing room */
}

/* HEADER (outside container) */
.newsletter-title {
    font-size: 40px;
    color: #fff;
    margin-bottom: 20px;
}

/* OUTER CONTAINER — 50% white opacity */
.newsletter-box {
    display: flex;
    justify-content: center;
    padding: 25px;
    background: rgba(255, 255, 255, 0.5);
    width: fit-content;
    margin: 0 auto;
    border-radius: 20px;
}

/* FORM */
.newsletter-form {
    display: flex;
    align-items: center;
}

/* INPUT FIELD — #e5e5e5 */
.newsletter-input {
    width: 500px;
    max-width: 90%;
    padding: 14px 18px;
    border: none;
    outline: none;
    font-size: 16px;
    background: #e5e5e5;
    border-radius: 14px 0 0 14px;
}

/* SUBMIT BUTTON */
.newsletter-btn {
    width: 60px;
    height: 46.5px;
    border: none;
    background: #e5e5e5;
    border-radius: 0 14px 14px 0;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: background 0.25s ease;
}

.newsletter-btn img {
    width: 28px;
    transition: transform .3s ease;
}

/* Hover effect (hero-button style) */
.newsletter-btn:hover img {
    transform: rotate(180deg) scale(1.15);
}

.newsletter-btn:hover {
    background: rgba(0, 153, 145, 0.5);
}

.site-footer {
    background: #fff;
    text-align: center;
    padding: 50px 20px;
}

.footer-logo {
    width: 180px;
    margin-bottom: 20px;
}

/* Social Icons */
.footer-social {
    display: flex;
    justify-content: center;
    gap: 15px; /* you asked for 15 */
    margin-bottom: 25px;
}

.footer-social img {
    width: 28px;
    height: 28px;
    filter: invert(37%) sepia(94%) saturate(1000%) hue-rotate(135deg); /* TEAL tint */
    transition: 0.3s ease;
}

/* Hover brighten */
.footer-social img:hover {
    filter: brightness(0.2) invert(1);
}

/* Footer Links */
.footer-links {
    display: flex;
    justify-content: center;
    gap: 25px; /* you asked for 25 */
    margin-bottom: 25px;
    flex-wrap: wrap;
}

.footer-links a {
    font-family: var(--header-font);
    font-size: 16px;
    color: #000;
    text-decoration: none;
    transition: 0.3s;
}

.footer-links a:hover {
    color: #009991;
}

/* Copyright */
.footer-copy {
    color: #666; /* you asked for this */
    font-size: 14px;
    line-height: 1.6;
}

/* =========================================
   FOOTER
========================================= */
.site-footer {
    background: #fff;
    text-align: center;
    padding: 50px 20px;
}

.footer-logo {
    width: 250px;
    margin-bottom: 15px;
}

.footer-social {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 30px;
}

.footer-social img {
    width: 26px;
    height: 26px;
	filter: invert(33%) sepia(78%) saturate(420%) hue-rotate(132deg) brightness(70%) contrast(88%);
    transition: 0.3s ease;
}

.footer-social img:hover {
    filter: brightness(0.2) invert(1);
}

.footer-links {
    display: flex;
    justify-content: center;
    gap: 40px;
    margin-bottom: 25px;
    flex-wrap: wrap;
}

.footer-links a {
	font-family: 'Metal Mania', cursive;
    font-size: 18px;
    color: #000;
    text-decoration: none;
    transition: 0.3s;
}

.footer-links a:hover {
    color: #009991;
}

/* Copyright */
.footer-copy {
    color: #666; /* you asked for this */
    font-size: 14px;
    line-height: 1.6;
}
