/* ==== Reset general ==== */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Segoe UI', sans-serif;
}

body {
  background: #0b1020;
  color: #fff;
  min-height: 100vh;
}

/* ==== HEADER ==== */
header {
  text-align: center;
  padding: 20px;
}

header h1 {
  font-size: 1.8rem;
  background: linear-gradient(90deg, #ff3d81, #5ae8ff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

header p {
  color: #bcd7ee;
}

header nav {
  margin-top: 10px;
}

header nav a {
  margin: 0 10px;
  color: #5ae8ff;
  text-decoration: none;
  font-weight: bold;
  transition: color 0.3s;
}

header nav a:hover {
  color: #ff3d81;
}

/* ==== HERO ==== */
.hero {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 20px;
  padding: 30px 20px;
  perspective: 1000px;
}

.hero-card {
  background: rgba(255, 255, 255, 0.05);
  padding: 20px;
  border-radius: 15px;
  max-width: 320px;
  text-align: center;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
}

.btn {
  display: inline-block;
  margin-top: 15px;
  padding: 10px 18px;
  background: linear-gradient(90deg, #5ae8ff, #ff3d81);
  border-radius: 10px;
  color: #061126;
  font-weight: bold;
  text-decoration: none;
  transition: transform 0.2s;
}

.btn:hover {
  transform: scale(1.05);
}

/* ==== CUBO 3D ==== */
.cube {
  position: relative;
  width: 120px;
  height: 120px;
  transform-style: preserve-3d;
  transform: rotateX(-20deg) rotateY(25deg);
  animation: girar 10s infinite linear;
  cursor: grab;
}

.face {
  position: absolute;
  width: 120px;
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 1rem;
  color: #061126;
  border-radius: 10px;
  background: linear-gradient(135deg, #ff3d81, #5ae8ff);
}

.front  { transform: rotateY(0deg) translateZ(60px); }
.back   { transform: rotateY(180deg) translateZ(60px); }
.left   { transform: rotateY(-90deg) translateZ(60px); }
.right  { transform: rotateY(90deg) translateZ(60px); }
.top    { transform: rotateX(90deg) translateZ(60px); }
.bottom { transform: rotateX(-90deg) translateZ(60px); }

@keyframes girar {
  from { transform: rotateX(-20deg) rotateY(0); }
  to   { transform: rotateX(-20deg) rotateY(360deg); }
}

/* ==== SECCIONES GENERALES ==== */
section {
  padding: 50px 20px;
  text-align: center;
}

section h2 {
  font-size: 2rem;
  margin-bottom: 20px;
  color: #5ae8ff;
}

section p,
section li {
  color: #bcd7ee;
  max-width: 800px;
  margin: 10px auto;
}

/* ==== HABILIDADES ==== */
.skills-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 20px;
  margin-top: 20px;
}

.skill h3 {
  margin-bottom: 0.5rem;
}

.progress {
  background: #333;
  border-radius: 20px;
  overflow: hidden;
  height: 15px;
}

.bar {
  height: 100%;
  border-radius: 20px;
}

.bar.html  { width: 95%; background: #e34c26; }
.bar.css   { width: 90%; background: #264de4; }
.bar.js    { width: 85%; background: #f7df1e; }
.bar.react { width: 80%; background: #61dafb; }
.bar.uiux  { width: 88%; background: #ff66b2; }
.bar.java  { width: 75%; background: #f89820; }

/* ==== EXPERIENCIA ==== */
#experiencia ul {
  list-style: none;
  padding: 0;
}

#experiencia li {
  margin: 10px 0;
}

/* ==== PROYECTOS ==== */
.proyectos-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 20px;
  margin-top: 20px;
}

.card {
  background: rgba(255, 255, 255, 0.05);
  padding: 15px;
  border-radius: 12px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.5);
  transition: transform 0.3s ease;
}

.card:hover {
  transform: translateY(-8px) rotateX(4deg) rotateY(4deg);
}

/* ==== CONTACTO ==== */
form {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 400px;
  margin: 0 auto;
}

input,
textarea {
  padding: 10px;
  border: none;
  border-radius: 8px;
  background: #1a2335;
  color: #fff;
}

button {
  cursor: pointer;
  border: none;
}

/* ==== FOOTER ==== */
footer {
  padding: 20px;
  text-align: center;
  color: #9fbfdc;
  font-size: 0.9rem;
}

/* ==== RESPONSIVE ==== */
@media (max-width: 768px) {
  .hero {
    flex-direction: column;
  }

  .hero-card {
    max-width: 100%;
  }

  .cube {
    margin-top: 20px;
    width: 100px;
    height: 100px;
  }

  .face {
    width: 100px;
    height: 100px;
  }
}
/* ==== REDES SOCIALES ==== */
.social-links {
  margin-top: 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.social-links a {
  text-decoration: none;
  font-weight: bold;
}
