.skills {
  padding: 64px 120px;
  display: flex;
  flex-direction: column;
  background-color: #0b0c10;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 900'%3E%3Cdefs%3E%3ClinearGradient id='a' x1='0' x2='0' y1='1' y2='0' gradientTransform='rotate(0,0.5,0.5)'%3E%3Cstop offset='0' stop-color='%23AEABB4'/%3E%3Cstop offset='1' stop-color='%23232427'/%3E%3C/linearGradient%3E%3ClinearGradient id='b' x1='0' x2='0' y1='0' y2='1' gradientTransform='rotate(0,0.5,0.5)'%3E%3Cstop offset='0' stop-color='%23400A18'/%3E%3Cstop offset='1' stop-color='%23402428'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg fill='%23FFF' fill-opacity='0' stroke-miterlimit='10'%3E%3Cg stroke='url(%23a)' stroke-width='6.93'%3E%3Cpath transform='translate(-21.7 -4) rotate(-4.9 1409 581) scale(0.957712)' d='M1409 581 1450.35 511 1490 581z'/%3E%3Ccircle stroke-width='2.3100000000000005' transform='translate(-46 22) rotate(-1.4000000000000001 800 450) scale(0.9949759999999999)' cx='500' cy='100' r='40'/%3E%3Cpath transform='translate(-5.799999999999999 6) rotate(-22 401 736) scale(0.9949759999999999)' d='M400.86 735.5h-83.73c0-23.12 18.74-41.87 41.87-41.87S400.86 712.38 400.86 735.5z'/%3E%3C/g%3E%3Cg stroke='url(%23b)' stroke-width='2.1'%3E%3Cpath transform='translate(132 7.199999999999999) rotate(-1.7999999999999998 150 345) scale(1.009904)' d='M149.8 345.2 118.4 389.8 149.8 434.4 181.2 389.8z'/%3E%3Crect stroke-width='4.620000000000001' transform='translate(0 -63) rotate(-36 1089 759)' x='1039' y='709' width='100' height='100'/%3E%3Cpath transform='translate(-42.4 5.6) rotate(-6 1400 132) scale(0.92)' d='M1426.8 132.4 1405.7 168.8 1363.7 168.8 1342.7 132.4 1363.7 96 1405.7 96z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  background-attachment: fixed;
  background-size: cover;
}

.skills__title {
  align-self: center;
}

.skills--hard {
  width: 100%;
  display: flex;
  gap: 20px;
  margin-bottom: 10px;
}

.skills__container {
  background: #41000000;
  border: 2px solid white;
  width: 50%;
  padding: 30px 30px 50px;
  border-radius: 10px;
  backdrop-filter: blur(10px);
}

.skills__container__title {
  margin-bottom: 25px;
  letter-spacing: 2px;
  text-align: center;
}

.skills__container__item:not(:last-child) {
  margin-bottom: 30px;
}

.skills__container__item__text {
  width: 100%;
  display: flex;
  justify-content: space-between;
  padding-bottom: 10px;
  text-align: start;
}

.skills__container__item__bar {
  position: relative;
  border: 1px solid white;
  border-radius: 20px;
}

.skills__container__item__bar--style {
  position: relative;
  width: 0;
  height: 8px;
  border-radius: 10px;
  background-color: white;
}

/* ===== DESARROLLO (6 habilidades) ===== */
#html {
  animation: html-fill 8s forwards infinite;
}
@keyframes html-fill {
  0% { width: 0%; }
  20% { width: 80%; }
  100% { width: 80%; }
}

#css {
  animation: css-fill 8s forwards infinite;
}
@keyframes css-fill {
  0% { width: 0%; }
  20% { width: 57%; }
  100% { width: 57%; }
}

#javascript {
  animation: javascript-fill 8s forwards infinite;
}
@keyframes javascript-fill {
  0% { width: 0%; }
  20% { width: 71%; }
  100% { width: 71%; }
}

#python {
  animation: python-fill 8s forwards infinite;
}
@keyframes python-fill {
  0% { width: 0%; }
  20% { width: 80%; }
  100% { width: 80%; }
}

#mysql {
  animation: mysql-fill 8s forwards infinite;
}
@keyframes mysql-fill {
  0% { width: 0%; }
  20% { width: 80%; }
  100% { width: 80%; }
}

#github {
  animation: github-fill 8s forwards infinite;
}
@keyframes github-fill {
  0% { width: 0%; }
  20% { width: 62%; }
  100% { width: 62%; }
}

/* ===== DATA ANALYTICS (3 habilidades) ===== */
#analisis {
  animation: analisis-fill 8s forwards infinite;
}
@keyframes analisis-fill {
  0% { width: 0%; }
  20% { width: 85%; }
  100% { width: 85%; }
}

#powerbi {
  animation: powerbi-fill 8s forwards infinite;
}
@keyframes powerbi-fill {
  0% { width: 0%; }
  20% { width: 75%; }
  100% { width: 75%; }
}

#excel {
  animation: excel-fill 8s forwards infinite;
}
@keyframes excel-fill {
  0% { width: 0%; }
  20% { width: 80%; }
  100% { width: 80%; }
}

/* ===== DATA SCIENCE (3 habilidades) ===== */
#ml {
  animation: ml-fill 8s forwards infinite;
}
@keyframes ml-fill {
  0% { width: 0%; }
  20% { width: 70%; }
  100% { width: 70%; }
}

#pandas {
  animation: pandas-fill 8s forwards infinite;
}
@keyframes pandas-fill {
  0% { width: 0%; }
  20% { width: 75%; }
  100% { width: 75%; }
}

#viz {
  animation: viz-fill 8s forwards infinite;
}
@keyframes viz-fill {
  0% { width: 0%; }
  20% { width: 80%; }
  100% { width: 80%; }
}

/* Ocultamos IDs antiguos que ya no se usan */
#js, #git, #figma, #dt, #wireframe, #lofi {
  display: none;
}

/* ===== SOFT SKILLS - 8 HABILIDADES (GRID PERFECTO) ===== */
.skills--soft {
  color: white;
  background: #00000061;
  border: 2px solid white;
  padding: 25px;
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* 4 columnas = 2 filas perfectas */
  gap: 15px;
  margin-top: 30px;
  border-radius: 10px;
  backdrop-filter: blur(10px);
  width: 100%;
  box-sizing: border-box;
}

.skills--active {
  font-weight: bold;
  padding: 15px 10px;
  text-align: center;
  background: rgba(42, 122, 228, 0.2);
  border-radius: 8px;
  border-left: 4px solid #2A7AE4;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 70px;
  word-break: break-word;
  font-size: 1rem;
  letter-spacing: 0.5px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.skills--active:hover {
  background: rgba(42, 122, 228, 0.4);
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  border-left-color: #fff;
}

/* ===== RESPONSIVE ===== */
@media screen and (max-width: 1280px) {
  .skills {
    padding: 52px 90px;
  }
}

@media screen and (max-width: 1024px) {
  .skills {
    padding: 32px;
  }
  
  .skills--soft {
    grid-template-columns: repeat(4, 1fr); /* Se mantiene 4 columnas */
    gap: 12px;
    padding: 20px;
  }
  
  .skills--active {
    padding: 12px 8px;
    min-height: 65px;
    font-size: 0.95rem;
  }
}

@media screen and (max-width: 768px) {
  .skills {
    padding: 16px;
  }

  .skills--hard {
    flex-direction: column;
    gap: 10px;
  }

  .skills__container {
    width: 100%;
    box-sizing: border-box;
    padding: 15px;
  }

  .skills--soft {
    grid-template-columns: repeat(2, 1fr); /* 2 columnas = 4 filas */
    gap: 10px;
    padding: 15px;
  }
  
  .skills--active {
    padding: 10px 6px;
    min-height: 60px;
    font-size: 0.9rem;
    border-left-width: 3px;
  }
}

@media screen and (max-width: 480px) {
  .skills--soft {
    grid-template-columns: repeat(2, 1fr); /* Se mantiene 2 columnas */
    gap: 8px;
    padding: 12px;
  }
  
  .skills--active {
    padding: 8px 4px;
    min-height: 50px;
    font-size: 0.85rem;
    border-left-width: 2px;
  }

  /* RESPALDO - FUERZA GRID DE 4 COLUMNAS */
.skills--soft {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 15px !important;
}

/* ===== VERSIÓN ULTRA RESPONSIVE PARA MÓVIL ===== */
@media screen and (max-width: 768px) {
  .skills {
    padding: 30px 15px !important;
  }

  .skills__container {
    padding: 20px 15px !important;
  }

  .skills__container__title {
    font-size: 1.1rem !important;
    margin-bottom: 20px !important;
  }

  /* Soft skills - MÁS LEGIBLES */
  .skills--soft {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
    padding: 15px !important;
  }

  .skills--active {
    font-size: 0.85rem !important;
    padding: 12px 5px !important;
    min-height: auto !important;
    line-height: 1.3 !important;
    white-space: normal !important;
    word-break: break-word !important;
    hyphens: auto !important;
    border-left-width: 3px !important;
  }
}

@media screen and (max-width: 480px) {
  .skills--soft {
    gap: 8px !important;
    padding: 12px !important;
  }

  .skills--active {
    font-size: 0.8rem !important;
    padding: 10px 4px !important;
  }
}

/* Para pantallas muy pequeñas */
@media screen and (max-width: 360px) {
  .skills--active {
    font-size: 0.75rem !important;
    padding: 8px 3px !important;
  }
}
}