/* Estilos específicos para la página de Portafolio */

.hero-portafolio {
  position: relative;
  overflow: hidden;
}

.hero-portafolio .hero-code-window {
  transition: box-shadow 200ms ease, border-color 200ms ease;
}

.hero-portafolio .hero-code-window:hover {
  box-shadow: 0 18px 36px rgba(15, 23, 42, 0.4);
  border-color: rgba(99, 102, 241, 0.25);
}

.portfolio-grid {
  display: grid;
  gap: 1.75rem;
}

@media (min-width: 640px) {
  .portfolio-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .portfolio-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.portfolio-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.portfolio-card img {
  border-radius: 1.5rem;
}

.badge-soft {
  display: inline-flex;
  align-items: center;
  font-size: 0.85rem;
  padding: 0.25rem 0.9rem;
  border-radius: var(--border-radius-full);
  background: rgba(70, 121, 180, 0.1);
  color: #4679b4;
  font-weight: 500;
}

.portfolio-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  margin-top: 2.5rem;
}

.pagination-btn {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: var(--border-radius-full);
  border: 1px solid rgba(15, 23, 42, 0.1);
  background: #fff;
  font-weight: 600;
  color: #1f2937;
  transition: all 200ms ease;
  cursor: pointer;
}

.pagination-btn:hover {
  border-color: rgba(70, 121, 180, 0.4);
  color: #4679b4;
}

.pagination-btn.active {
  background: linear-gradient(135deg, #4679b4, #3a6296);
  color: #fff;
  border-color: transparent;
  box-shadow: 0 12px 30px rgba(70, 121, 180, 0.35);
}
