/* ==================================================
   GAMESALONE18 UNIVERSE
   ZONA DE CÓDIGOS
================================================== */

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

:root{

--primary:#00ff9d;
--primary-hover:#00d684;

--bg:#050505;
--card:#0f1014;

--text:#ffffff;
--muted:#a8adb7;

--border:rgba(255,255,255,.08);

--shadow:
0 0 40px rgba(0,255,157,.08);

}

body{

font-family:'Inter',sans-serif;
background:#000;
color:var(--text);
overflow-x:hidden;

}

/* ==================================================
BACKGROUND
================================================== */

.bg-image{

position:fixed;
inset:0;

background:
url('/home/img/bg-masthead.jpg')
center center / cover no-repeat;

z-index:-3;

filter:brightness(.35);

}

.bg-overlay{

position:fixed;
inset:0;

background:
linear-gradient(
180deg,
rgba(0,0,0,.65),
rgba(0,0,0,.85)
);

z-index:-2;

}

.grid-overlay{

position:fixed;
inset:0;

background-image:
linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);

background-size:40px 40px;

z-index:-1;

}

/* ==================================================
LAYOUT
================================================== */

.main-content{

position:relative;
z-index:1;

padding-top:110px;
padding-bottom:80px;

}

/* ==================================================
HERO
================================================== */

.hero-section{

padding:70px 20px 40px;

}

.hero-box{

max-width:1000px;
margin:auto;

padding:70px 50px;

border:1px solid var(--border);

background:
linear-gradient(
145deg,
rgba(20,20,20,.92),
rgba(8,8,8,.88)
);

backdrop-filter:blur(12px);

border-radius:32px;

box-shadow:var(--shadow);

text-align:center;

}

.hero-badge{

display:inline-flex;
align-items:center;
gap:10px;

padding:10px 18px;

background:rgba(0,255,157,.08);

border:1px solid rgba(0,255,157,.2);

border-radius:999px;

color:var(--primary);

font-size:.85rem;
font-weight:700;

letter-spacing:1px;
text-transform:uppercase;

margin-bottom:30px;

}

.hero-box h1{

font-family:'Orbitron',sans-serif;

font-size:4rem;
font-weight:900;

line-height:1.1;

margin-bottom:25px;

}

.hero-description{

max-width:760px;
margin:auto;

font-size:1.15rem;
line-height:1.9;

color:var(--muted);

}

/* ==================================================
STATS
================================================== */

.hero-stats{

display:grid;
grid-template-columns:repeat(3,1fr);

gap:20px;

margin-top:45px;

}

.stat-card{

padding:25px;

border-radius:20px;

background:rgba(255,255,255,.03);

border:1px solid rgba(255,255,255,.06);

}

.stat-card h3{

font-size:2rem;
font-weight:800;

color:var(--primary);

margin-bottom:8px;

}

.stat-card span{

font-size:.95rem;
color:var(--muted);

}

/* ==================================================
SECTION
================================================== */

.subscription-section,
.code-section,
.security-section{

padding:40px 20px;

}

.subscription-card,
.code-card,
.security-box{

max-width:1200px;
margin:auto;

padding:50px;

border-radius:28px;

background:
linear-gradient(
145deg,
rgba(15,15,15,.92),
rgba(8,8,8,.95)
);

border:1px solid var(--border);

backdrop-filter:blur(10px);

box-shadow:var(--shadow);

}

.section-heading h2{

font-family:'Orbitron',sans-serif;

font-size:2.5rem;
line-height:1.2;

margin-bottom:18px;

}

.section-heading p{

color:var(--muted);

line-height:1.8;

font-size:1rem;

}

.section-mini{

display:inline-block;

margin-bottom:16px;

font-size:.8rem;
font-weight:700;

letter-spacing:2px;

color:var(--primary);

}

/* ==================================================
FORM
================================================== */

.custom-form{

margin-top:30px;

}

.form-group{

margin-bottom:22px;

}

.form-group label{

display:block;

margin-bottom:10px;

font-size:.92rem;
font-weight:600;

color:#d5d5d5;

}

.custom-form input{

width:100%;

padding:16px 18px;

border-radius:14px;

border:1px solid rgba(255,255,255,.08);

background:#0d0d0d;

color:#fff;

outline:none;

transition:.3s ease;

}

.custom-form input:focus{

border-color:var(--primary);

box-shadow:
0 0 0 4px rgba(0,255,157,.08);

}

/* ==================================================
BUTTON
================================================== */

.btn-main{

width:100%;

padding:16px 20px;

border:none;
border-radius:16px;

background:
linear-gradient(
135deg,
var(--primary),
#00d5ff
);

color:#000;

font-weight:800;
font-size:1rem;

cursor:pointer;

transition:.35s ease;

}

.btn-main:hover{

transform:translateY(-3px);

box-shadow:
0 15px 30px rgba(0,255,157,.15);

}

/* ==================================================
LEGAL
================================================== */

.legal-text{

margin-top:18px;

font-size:.9rem;
line-height:1.7;

color:var(--muted);

}

.legal-text a{

color:var(--primary);
text-decoration:none;

}

.legal-text a:hover{

text-decoration:underline;

}

/* ==================================================
RESULTADOS
================================================== */

.result-box{

margin-top:30px;

}

.loading-message,
.error-message,
.success-message{

padding:18px 20px;

border-radius:16px;

font-weight:600;

}

.loading-message{

background:#111827;
color:#dbeafe;

}

.error-message{

background:#2a1010;
color:#ff9898;

border:1px solid rgba(255,0,0,.15);

}

.success-message{

background:#0f2418;
color:#8dffc5;

border:1px solid rgba(0,255,157,.12);

}

/* SUCCESS CARD */

.success-card{

margin-top:25px;

padding:35px;

border-radius:24px;

background:
linear-gradient(
145deg,
rgba(0,255,157,.08),
rgba(0,0,0,.95)
);

border:1px solid rgba(0,255,157,.15);

}

.success-icon{

font-size:3rem;
color:var(--primary);

margin-bottom:15px;

}

.success-card h3{

font-family:'Orbitron',sans-serif;

margin-bottom:25px;

}

.reward-grid{

display:grid;
grid-template-columns:repeat(3,1fr);

gap:18px;

margin-bottom:25px;

}

.reward-item{

padding:20px;

background:rgba(255,255,255,.04);

border-radius:16px;

}

.reward-item span{

display:block;

font-size:.85rem;

color:var(--muted);

margin-bottom:8px;

}

.reward-item strong{

font-size:1rem;

color:#fff;

}

.success-note{

color:#8dffc5;
font-weight:600;

}

/* ==================================================
SECURITY
================================================== */

.security-box{

text-align:center;

max-width:850px;

}

.security-icon{

font-size:4rem;

color:var(--primary);

margin-bottom:25px;

}

.security-box h3{

font-family:'Orbitron',sans-serif;

font-size:2rem;

margin-bottom:18px;

}

.security-box p{

max-width:650px;
margin:auto;

line-height:1.9;

color:var(--muted);

}

/* ==================================================
POPUP
================================================== */

.popup-overlay{

display:none;

position:fixed;
inset:0;

background:rgba(0,0,0,.82);

backdrop-filter:blur(8px);

z-index:99999;

justify-content:center;
align-items:center;

padding:20px;

}

.popup-box{

max-width:520px;
width:100%;

padding:45px 35px;

border-radius:30px;

background:
linear-gradient(
145deg,
#111,
#070707
);

border:1px solid rgba(0,255,157,.15);

text-align:center;

box-shadow:
0 0 50px rgba(0,255,157,.12);

}

.popup-icon{

font-size:3.2rem;

color:var(--primary);

margin-bottom:20px;

}

.popup-box h2{

font-family:'Orbitron',sans-serif;

margin-bottom:20px;

}

.popup-box p{

line-height:1.8;

color:var(--muted);

margin-bottom:28px;

}

.popup-btn{

padding:14px 30px;

border:none;
border-radius:14px;

background:var(--primary);

color:#000;

font-weight:800;

cursor:pointer;

transition:.3s ease;

}

.popup-btn:hover{

transform:translateY(-2px);

background:#00ffc3;

}

/* ==================================================
RESPONSIVE
================================================== */

@media(max-width:991px){

.hero-box{

padding:50px 30px;

}

.hero-box h1{

font-size:2.8rem;

}

.section-heading h2{

font-size:2rem;

}

.subscription-card,
.code-card,
.security-box{

padding:35px 25px;

}

.reward-grid,
.hero-stats{

grid-template-columns:1fr;

}

}

@media(max-width:768px){

.main-content{

padding-top:90px;

}

.hero-section{

padding-top:40px;

}

.hero-box h1{

font-size:2.2rem;

}

.hero-description{

font-size:1rem;

}

.section-heading h2{

font-size:1.7rem;

}

.custom-form input{

padding:15px;

}

.btn-main{

padding:15px;

}

.popup-box{

padding:35px 25px;

}

}

@media(max-width:480px){

.hero-box{

padding:40px 20px;

border-radius:24px;

}

.hero-box h1{

font-size:1.8rem;

}

.section-heading h2{

font-size:1.45rem;

}

.stat-card{

padding:20px;

}

.subscription-card,
.code-card{

border-radius:24px;

}

}
