/* =========================================================
   BASE (MOBILE FIRST)
========================================================= */

.profile-wrapper {
  min-height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background: white;
  padding: 40px 0;
}

.container {
  max-width: 1200px;
  width: 90%;
}

.profile-row {
  display: flex;
  flex-direction: column;
  text-align: center;
}

/* Avatar */
.avatar {
  width: 200px;
  margin: 0 auto 25px;
}

/* Textos */
.name {
  font-family: "Raleway", sans-serif;
  font-style: italic;
  font-weight: 700;
  font-size: 1.9rem;
  color: #111;
  margin-bottom: 8px;
}

.role {
  color: #444;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.95rem;
}

.description,
.skills-description,
.visit-description {
  color: #333;
  margin: 20px auto 25px;
  max-width: 100%;
}

.divider {
  width: 120px;
  border-color: #000;
}

/* =========================================================
   TOP SKILLS
========================================================= */

.skills-block {
  margin-top: 40px;
}

.skills-title {
  font-family: "Raleway", sans-serif;
  font-style: italic;
  font-weight: 700;
  font-size: 1.7rem;
  color: #111;
}

.skills-icons {
    display: flex;
    justify-content: center;
    gap: 28px;
    margin-bottom: 30px;
    flex-wrap: wrap;
}

.skill-item {
  width: 64px;
  text-align: center;
}

.skill-item i {
  font-size: 2.1rem;
}

/* COLORES ORIGINALES */
.skill-item.vue i {
  color: #41B883;
}

.skill-item.php i {
  color: #4F5B93;
}

.skill-item.javafx i {
  color: #E76F00;
}

.skill-item.mysql i {
  color: #DD4B39;
}

/* Hover */
.skill-item:hover {
  transform: translateY(-4px);
  transition: 0.2s;
}

/* Extra info */
.extra-info {
  margin-top: 40px;
}

.visit-title {
  font-family: "Raleway", sans-serif;
  font-style: italic;
  font-weight: 700;
  font-size: 1.2rem;
  color: #111;
}

/* Botones */
.buttons {
  display: flex;
  flex-direction: column;
  gap: 15px;
  align-items: center;
}

.btn-custom {
  padding: 10px 22px;
  border: 2px solid black;
  background: white;
  color: black;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 3px 3px 0 black;
  text-decoration: none;
}

.btn-custom:hover {
  background: black;
  color: white;
}

/* =========================================================
   TABLET (768–1024px)
========================================================= */

@media (min-width: 768px) and (max-width: 1024px) {

  .avatar {
    width: 250px;
  }

  .name {
    font-size: 2.4rem;
  }

  .skills-icons {
    flex-wrap: nowrap;
    justify-content: center;
    gap: 45px;
  }

  .skill-item {
	width: 76px;
	display: flex;
	flex-direction: column;
	align-items: center;
   }

  .skill-item i {
    font-size: 2.4rem;
  }

  .buttons {
    width: 100%;
    flex-direction: column;
  }

  .btn-custom {
    width: 260px;
  }

  .divider {
    width: 120px;
    border-color: #000;
    margin-left: auto;
    margin-right: auto;
  }


}

/* =========================================================
   DESKTOP (1024+)
========================================================= */

@media (min-width: 1024px) {
  .profile-row {
    flex-direction: row;
    text-align: left;
    align-items: center;
  }

  .photo-col {
    width: 30%;
    text-align: center;
  }

  .info-col {
    width: 70%;
    padding-left: 40px;
  }

  .avatar {
    width: 260px;
  }

  .skills-icons {
    justify-content: flex-start;
  }

  .buttons {
    flex-direction: row;
    justify-content: flex-start;
    gap: 20px;
  }

  .btn-custom {
    width: auto;
  }
}


/* =========================================================
   MOBILE (0–480px)
========================================================= */
@media (max-width: 480px) {
  .divider {
    margin-left: auto !important;
    margin-right: auto !important;
    display: block;
  }
}