/* =========================
   RESET / BASE
========================= */
*{
	margin:0;
	padding:0;
	box-sizing:border-box;
}

html{
	scroll-behavior:smooth;
}

body{
	min-height:100vh;
	overflow-y:auto;
	background:url(../img/cadenas.avif);
	background-size:cover;
	background-position:center;
	background-attachment:fixed;
	font-family:'Roboto', sans-serif;
	opacity:0;
	transition:opacity 1s ease;
	color:#fff;
}

body.loaded{
	opacity:1;
}

a{
	outline:none;
}

img{
	max-width:100%;
	display:block;
}

.red-text{
	color:#ff0000;
}

/* =========================
   LOADER
========================= */
#loader{
	position:fixed;
	inset:0;
	background:#000;
	display:flex;
	justify-content:center;
	align-items:center;
	z-index:9999;
	transition:opacity 0.8s ease, visibility 0.8s ease;
}

.loader-content img{
	width:120px;
	animation:fadeInLoader 1.5s ease-in-out infinite alternate;
}

#loader.hidden{
	opacity:0;
	visibility:hidden;
}

@keyframes fadeInLoader{
	from{opacity:0.4;transform:scale(0.95);}
	to{opacity:1;transform:scale(1.05);}
}

/* =========================
   NAVBAR
========================= */
.navbar{
	display:flex;
	justify-content:space-between;
	align-items:center;
	padding:15px 40px;
	background:rgba(0,0,0,0.9);
	position:fixed;
	width:100%;
	top:0;
	left:0;
	z-index:1000;
	backdrop-filter:blur(8px);
}

.logo-container{
	display:flex;
	align-items:center;
}

.header-logo-img{
	height:75px;
	width:auto;
}

.nav-links{
	display:flex;
	align-items:center;
}

.nav-links a{
	color:#fff;
	text-decoration:none;
	font-weight:700;
	font-size:0.8rem;
	margin:0 15px;
	letter-spacing:1px;
	transition:0.3s;
}

.nav-links a:hover{
	color:#ff0000;
	text-shadow:0 0 10px #ff0000;
}

/* =========================
   REDES
========================= */
.social-media-buttons{
	display:flex;
	align-items:center;
	gap:10px;
}

.btn-social{
	font-size:2rem;
	width:40px;
	height:40px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:5px;
	border:1px solid rgba(255,255,255,0.1);
	transition:0.4s;
	text-decoration:none;
	background:rgba(255,255,255,0.02);
}

.instagram{color:#E1306C;}
.spotify{color:#1DB954;}
.youtube{color:#FF0000;}
.soundcloud{color:#FF3300;}

.btn-social:hover{
	box-shadow:0 0 15px #ff0000;
	border-color:#ff0000;
	background:rgba(255,0,0,0.1);
	color:#fff;
}

/* =========================
   HAMBURGER
========================= */
.hamburger{
	display:none;
	flex-direction:column;
	gap:5px;
	cursor:pointer;
	border:1px solid #ff0000;
	padding:8px;
	border-radius:4px;
	box-shadow:0 0 5px rgba(255,0,0,0.45);
	background:rgba(0,0,0,0.35);
}

.hamburger span{
	width:25px;
	height:2px;
	background:#fff;
	display:block;
}

/* =========================
   MOBILE MENU OVERLAY
========================= */
.menu-overlay{
	position:fixed;
	top:0;
	right:-100%;
	width:100%;
	height:100vh;
	background-color:rgba(0,0,0,0.98);
	z-index:2000;
	transition:0.5s ease-in-out;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:40px 20px;
}

.menu-overlay.active{
	right:0;
}

.overlay-content{
	text-align:center;
}

.overlay-content a{
	position:relative;
	font-family:'Oswald', sans-serif;
	font-size:3rem;
	color:#fff;
	text-decoration:none;
	display:block;
	margin:20px 0;
	transition:color 0.3s ease, text-shadow 0.3s ease;
}

.overlay-content a:hover{
	color:#ff0000;
	text-shadow:0 0 12px rgba(255,0,0,0.75);
}

.overlay-content a::after{
	content:'';
	position:absolute;
	left:0;
	bottom:-5px;
	width:0%;
	height:2px;
	background:#ff0000;
	transition:0.3s ease;
}

.overlay-content a:hover::after{
	width:100%;
}

.close-btn{
	position:absolute;
	top:30px;
	right:40px;
	font-size:50px;
	color:#fff;
	background:none;
	border:none;
	cursor:pointer;
	line-height:1;
}

/* =========================
   HERO SCROLL VIDEO
========================= */
.hero-scroll{
	position:relative;
	height:220vh;
	width:100%;
}

.hero-sticky{
	position:sticky;
	top:0;
	height:100vh;
	width:100%;
	overflow:hidden;
}

.bg-video{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
	z-index:0;
	pointer-events:none;
}

.hero-overlay{
	position:absolute;
	inset:0;
	background:rgba(0,0,0,0.45);
	z-index:1;
}

.hero-content-track{
	position:absolute;
	inset:0;
	z-index:2;
	pointer-events:none;
}

.content-wrapper{
	position:sticky;
	top:0;
	height:100vh;
	width:100%;
	max-width:1200px;
	margin:0 auto;
	padding:120px 20px 40px;
	display:flex;
	align-items:center;
	justify-content:center;
	pointer-events:none;
}

.single-box{
	width:100%;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:30px;
	text-align:center;
	pointer-events:auto;
	will-change:transform, opacity;
}

.cover-container{
	position:relative;
	width:380px;
	height:380px;
}

.main-cover{
	width:100%;
	height:100%;
	object-fit:cover;
	border:2px solid #111;
	position:relative;
	z-index:5;
}

.neon-border{
	position:absolute;
	inset:-5px;
	border:2px solid #ff0000;
	z-index:4;
	box-shadow:0 0 20px #ff0000, inset 0 0 10px #ff0000;
	animation:neonPulse 2s infinite alternate;
}

@keyframes neonPulse{
	from{opacity:0.6;box-shadow:0 0 15px #ff0000, inset 0 0 8px #ff0000;}
	to{opacity:1;box-shadow:0 0 35px #ff0000, inset 0 0 14px #ff0000;}
}

.single-info{
	display:flex;
	flex-direction:column;
	align-items:center;
}

.label{
	color:#ff0000;
	letter-spacing:6px;
	font-size:0.9rem;
	font-weight:900;
}

.single-title{
	font-family:'Oswald', sans-serif;
	font-size:4.5rem;
	line-height:1;
	margin:10px 0;
	letter-spacing:3px;
	color:#fff;
	text-shadow:0 0 20px rgba(0,0,0,0.55);
}

.spotify-play-btn{
	display:inline-flex;
	align-items:center;
	gap:12px;
	background:#1DB954;
	color:#000;
	padding:18px 40px;
	text-decoration:none;
	font-weight:900;
	border-radius:50px;
	transition:0.3s;
	margin-top:10px;
	box-shadow:0 10px 30px rgba(0,0,0,0.25);
}

.spotify-play-btn:hover{
	background:#fff;
	box-shadow:0 0 30px #1DB954;
	transform:scale(1.05);
}

/* =========================
   SECCIONES GENERALES
========================= */
.bio-section,
.press-section,
.contact-section{
	padding:100px 20px;
	background:rgba(0,0,0,0.8);
	color:#fff;
}

.bio-container,
.press-container,
.contact-container{
	max-width:1100px;
	margin:auto;
}

.bio-title,
.press-title,
.contact-title{
	text-align:center;
	font-size:2.5rem;
	margin-bottom:50px;
	font-family:'Oswald', sans-serif;
	letter-spacing:2px;
}

/* Para que la navbar fija no tape el ancla */
#biografia{
	scroll-margin-top:90px;
}

/* =========================
   BIOGRAFÍA
========================= */
.bio-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:60px;
	align-items:start;
}

.bio-text{
	color:#cbd5e1;
	line-height:1.8;
	font-size:1.05rem;
	font-weight:300;
}

.bio-text p{
	margin-bottom:25px;
	text-align:center;
	color:#fff;
	font-weight:700;
}

.bio-members{
	text-align:center;
	align-self:center;
}

.bio-members ul{
	list-style:none;
	padding:0;
	margin:0;
}

.bio-members li{
	margin-bottom:10px;
	color:#cbd5e1;
	font-size:1rem;
}

.bio-members a{
	color:#ff3c3c;
	text-decoration:none;
	font-weight:bold;
	transition:0.3s;
}

.bio-members a:hover{
	color:#ffffff;
	text-shadow:0 0 10px rgba(255,0,0,0.6);
}

/* =========================
   GALERÍA / SLIDER
========================= */
.bio-gallery{
	width:100%;
	height:400px;
	position:relative;
	overflow:hidden;
	border-radius:15px;
}

.slider{
	position:relative;
	width:100%;
	height:100%;
	overflow:hidden;
}

.slides{
	position:relative;
	width:100%;
	height:100%;
}

.slide{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	opacity:0;
	transition:opacity 0.8s ease;
	filter:grayscale(40%) brightness(70%);
}

.slide.active{
	opacity:1;
}

.prev,
.next{
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	background:rgba(0,0,0,0.6);
	border:1px solid #ff0000;
	color:#fff;
	font-size:2rem;
	padding:10px 15px;
	cursor:pointer;
	transition:0.3s;
	z-index:10;
	line-height:1;
}

.prev{
	left:10px;
}

.next{
	right:10px;
}

.prev:hover,
.next:hover{
	background:#ff0000;
	color:#000;
}

/* =========================
   PRENSA
========================= */
.press-section{
	background:#000;
}

.press-grid{
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));
	gap:30px;
}

.press-card{
	background:rgba(255,255,255,0.03);
	border:1px solid rgba(255,255,255,0.1);
	border-radius:12px;
	overflow:hidden;
	transition:0.3s;
	position:relative;
	backdrop-filter:blur(5px);
}

.press-card:hover{
	transform:translateY(-6px);
	border-color:#ff3c3c;
	background:rgba(255,60,60,0.05);
}

.press-card::before{
	content:"";
	position:absolute;
	top:0;
	left:-100%;
	width:100%;
	height:100%;
	background:linear-gradient(120deg, transparent, rgba(255,255,255,0.08), transparent);
	transition:0.5s;
	pointer-events:none;
}

.press-card:hover::before{
	left:100%;
}

.press-img{
	overflow:hidden;
}

.press-img img{
	width:100%;
	height:180px;
	object-fit:cover;
	filter:brightness(70%);
	transition:0.3s;
}

.press-card:hover .press-img img{
	filter:brightness(100%);
	transform:scale(1.02);
}

.press-content{
	display:flex;
	flex-direction:column;
	align-items:center;
	text-align:center;
	padding:20px 20px 25px;
}

.press-content h3{
	color:#fff;
	margin:0 0 15px;
	font-size:1.3rem;
}

.press-content p{
	color:#cbd5e1;
	margin-bottom:20px;
	font-size:0.95rem;
	line-height:1.6;
}

.press-btn{
	display:inline-block;
	padding:10px 20px;
	border:2px solid #ff3c3c;
	color:#ff3c3c;
	text-decoration:none;
	font-weight:bold;
	transition:0.3s;
	border-radius:999px;
}

.press-btn:hover{
	background:#ff3c3c;
	color:#000;
	box-shadow:0 0 20px rgba(255,60,60,0.35);
}

/* =========================
   CONTACTO
========================= */
.contact-section{
	text-align:center;
	background:rgba(0,0,0,0.7);
}

.contact-title{
	margin-bottom:35px;
}

.contact-text{
	color:#cbd5e1;
	margin-bottom:50px;
	font-size:1.3rem;
}

.contact-icons{
	justify-content:center;
	display:flex;
	gap:15px;
	margin-bottom:30px;
}

.contact-icons .btn-social{
	width:80px;
	height:50px;
	font-size:2.3rem;
}

.contact-email{
	color:#ff3c3c;
	font-weight:bold;
	margin:50px;
	font-size:1.3rem;
}

.contact-email i{
	margin-right:8px;
}

.contact-email span{
	color:#fff;
	text-shadow:0 0 8px rgba(255,0,0,0.6);
}

.contact-email a{
	color:#fff;
	text-decoration:none;
	transition:0.3s;
}

.contact-email a:hover{
	color:#ff2e2e;
	text-shadow:0 0 8px rgba(255,0,0,0.7);
}

/* =========================
   FOOTER
========================= */
.footer{
	padding:40px 20px;
	background:rgba(0,0,0,0.9);
	border-top:1px solid #111;
	text-align:center;
}

.footer-container{
	max-width:900px;
	margin:auto;
}

.footer-nav{
	margin-bottom:15px;
}

.footer-nav a{
	color:#888;
	margin:0 10px;
	text-decoration:none;
	font-size:0.9rem;
	transition:0.3s;
}

.footer-nav a:hover{
	color:#ff3c3c;
}

.footer-copy{
	color:#555;
	font-size:0.8rem;
}

/* =========================
   RESPONSIVE
========================= */
@media (max-width:968px){
	.bio-grid{
		grid-template-columns:1fr;
		gap:40px;
	}

	.bio-title{
		font-size:2.8rem;
	}

	.bio-gallery{
		height:400px;
	}
}

@media (max-width:768px){
	.navbar{
		padding:15px 20px;
	}

	.navbar .nav-links,
	.navbar .social-media-buttons{
		display:none;
	}

	.navbar .hamburger{
		display:flex;
	}

	.header-logo-img{
		height:60px;
	}

	.overlay-content a{
		font-size:2.2rem;
	}

	.close-btn{
		top:20px;
		right:20px;
		font-size:44px;
	}

	.hero-scroll{
		height:140vh;
	}

	.content-wrapper{
		padding:110px 20px 30px;
	}

	.cover-container{
		width:280px;
		height:280px;
	}

	.single-title{
		font-size:2.5rem;
	}

	.label{
		letter-spacing:3px;
		font-size:0.8rem;
	}

	.spotify-play-btn{
		padding:15px 26px;
		font-size:0.95rem;
	}

	.contact-email{
		margin:35px 15px;
		font-size:1.05rem;
	}

	.contact-icons .btn-social{
		width:64px;
		height:46px;
		font-size:2rem;
	}

	.press-card{
		padding:0;
	}
}

@media (min-width:769px){
	.navbar .nav-links,
	.navbar .social-media-buttons{
		display:flex;
	}

	.navbar .hamburger{
		display:none;
	}
}

@media (max-width:480px){
	.bio-gallery{
		height:300px;
	}

	.single-title{
		font-size:2.1rem;
	}

	.cover-container{
		width:240px;
		height:240px;
	}

	.press-title,
	.bio-title,
	.contact-title{
		font-size:2rem;
	}

	.contact-text{
		font-size:1.05rem;
	}

	.prev,
	.next{
		font-size:1.4rem;
		padding:8px 12px;
	}
}

body{
	background:url(../img/cadenas.avif);
	background-size:cover;
	background-position:0 0;
	background-attachment:fixed;

	animation:moverCadenas 60s linear infinite;
}

@keyframes moverCadenas{
	from{
		background-position:0 0;
	}
	to{
		background-position:1000px 0;
	}
}