/* ================= BODY Y FONDO ================= */
body {
  margin: 0;
  font-family: Arial, sans-serif;
  color: white;
  overflow-x: hidden;
  background: url('images/imgfondo.png') center/cover no-repeat fixed;
}

/* ================= HERO ================= */
.hero-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  z-index: 2;
  background: rgba(255,255,255,0.05);
  backdrop-filter: blur(10px);
  border-radius: 20px;
  padding: 40px 60px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.3);
  border: 1px solid rgba(255,255,255,0.1);
}
.hero-content h1 {font-size:48px;color:#ffc300;margin-bottom:20px;}
.hero-content p {font-size:20px;margin-bottom:30px;}

/* ================= POPUPS ================= */
.popup {
  display:none; 
  position:fixed; top:0; left:0; width:100%; height:100%;
  background: rgba(255,255,255,0.05); 
  backdrop-filter: blur(20px);
  color:white; overflow:auto; z-index:1000; 
  opacity:0; transform:scale(0.9);
  transition:0.4s; padding:20px;
}
.popup.show {display:block; animation:fadeInScale 0.4s forwards;}
.popup.hide {animation:fadeOutScale 0.3s forwards;}
.popup .close {position:absolute; top:20px; right:20px; font-size:30px; cursor:pointer;}
.popup h2 {margin-bottom:15px;}

/* ================= HEADER ================= */
header {
  position:fixed; top:0; left:0; width:100%; z-index:10;
  display:flex; justify-content:space-between; align-items:center;
  padding:10px 20px; background:rgba(0,0,0,0.5); backdrop-filter:blur(5px);
  flex-wrap:wrap;
}

/* LOGO + CONTACTO */
.logo-contact {
  display:flex; align-items:center; gap:15px;
}
.logo-img {height:50px; width:auto;}
.contact-info p {margin:0; font-size:0.9rem; color:white;}

/* MENÚ GLOW */
header nav {
  display:flex; justify-content:center; gap:20px; flex-wrap:wrap; margin-top:5px;
}
header nav a {
  display:inline-block; padding:12px 25px;
  background: rgba(255, 255, 255, 0.1);
  color:white; text-decoration:none; border-radius:12px; font-weight:bold;
  font-size:0.95rem; letter-spacing:1px; text-transform:uppercase;
  transition: all 0.3s ease; box-shadow:0 0 5px rgba(255,255,255,0.2);
}
header nav a:hover {
  background:#ffc300; color:#000;
  transform:translateY(-5px) scale(1.05);
  box-shadow:0 0 10px #ffc300,0 0 20px #ffc300,0 0 30px #ffc300;
}

/* HAMBURGUESA */
.hamburger {display:none; font-size:30px; cursor:pointer; color:white;}

/* MÓVILES */
@media (max-width:768px) {
  nav {display:none; flex-direction:column; width:80%; margin:10px auto 0 auto;}
  nav.show {display:flex;}
  nav a {text-align:center; width:100%; margin:5px 0;}
  .hamburger {display:block;}
}

/* ================= FOOTER ================= */
footer {text-align:center; padding:20px; background:rgba(0,0,0,0.5);}

/* ================= PRELOADER ================= */
#preloader {position:fixed; top:0; left:0; width:100%; height:100%; background:#000; display:flex; justify-content:center; align-items:center; z-index:2000;}
.spinner {border:5px solid rgba(255,255,255,0.2); border-top:5px solid #ffc300; border-radius:50%; width:50px; height:50px; animation:spin 1s linear infinite;}
@keyframes spin{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}

@keyframes fadeInScale{0%{opacity:0;transform:scale(0.9);}100%{opacity:1;transform:scale(1);}}
@keyframes fadeOutScale{0%{opacity:1;transform:scale(1);}100%{opacity:0;transform:scale(0.9);}}