.trabajos-section { background: var(--bg-section-2); }

.trabajos-grid {
  display:               grid;
  grid-template-columns: repeat(3, 1fr);
  gap:                   var(--grid-gap);
  margin-bottom:         var(--space-12);
}

.trabajo-card {
  background:    var(--bg-white);
  border-radius: var(--card-radius);
  border:        var(--card-border);
  overflow:      hidden;
  transition:    all var(--transition);
  display:       flex;
  flex-direction:column;
}

.trabajo-card:hover {
  transform:  translateY(-5px);
  box-shadow: var(--shadow-card-hover);
}

.trabajo-card__image {
  position:     relative;
  aspect-ratio: 4/3;
  overflow:     hidden;
  background:   var(--bg-section-3);
}

.trabajo-card__image img {
  width:      100%;
  height:     100%;
  object-fit: cover;
  transition: transform var(--transition-slow);
}

.trabajo-card:hover .trabajo-card__image img {
  transform: scale(1.05);
}

.trabajo-card__placeholder {
  width:           100%;
  height:          100%;
  display:         flex;
  flex-direction:  column;
  align-items:     center;
  justify-content: center;
  gap:             var(--space-3);
  color:           var(--text-light);
  font-size:       var(--text-sm);
}

.trabajo-tipo-badge {
  position:      absolute;
  top:           var(--space-3);
  left:          var(--space-3);
  padding:       var(--space-1) var(--space-3);
  border-radius: var(--radius-full);
  font-size:     var(--text-xs);
  font-weight:   var(--font-bold);
  text-transform:uppercase;
  letter-spacing:0.05em;
  backdrop-filter: blur(8px);
}

.trabajo-tipo-badge--commercial {
  background: rgba(26,58,138,0.85);
  color:      var(--text-white);
}

.trabajo-tipo-badge--residential {
  background: rgba(0,180,216,0.85);
  color:      var(--text-white);
}

.trabajo-card__body {
  padding: var(--space-5) var(--space-5) var(--space-6);
  display: flex;
  flex-direction: column;
  flex: 1;
}

.trabajo-card__meta {
  display:       flex;
  align-items:   center;
  gap:           var(--space-2);
  font-size:     var(--text-sm);
  color:         var(--text-muted);
  margin-bottom: var(--space-3);
}

.trabajo-card__meta svg {
  color:      var(--color-accent);
  flex-shrink:0;
}

.trabajo-card__title {
  font-size:     var(--text-lg);
  font-weight:   var(--font-bold);
  color:         var(--text-primary);
  margin-bottom: var(--space-3);
  line-height:   var(--leading-snug);
}

.trabajo-card__desc {
  font-size:   var(--text-sm);
  color:       var(--text-secondary);
  line-height: var(--leading-relaxed);
  margin-bottom: var(--space-4);
  flex: 1;
}

.trabajo-card__footer {
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  padding-top:     var(--space-4);
  border-top:      var(--border);
  gap:             var(--space-3);
  flex-wrap:       wrap;
}

.trabajo-card__stats {
  display: flex;
  gap:     var(--space-4);
}

.trabajo-stat {
  display:    flex;
  align-items:center;
  gap:        var(--space-1);
  font-size:  var(--text-xs);
  color:      var(--text-muted);
  font-weight:var(--font-medium);
}

.trabajo-stat svg { color: var(--color-primary); }

.trabajos-cta {
  text-align: center;
}

@media (max-width: 1024px) {
  .trabajos-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
  .trabajos-grid { grid-template-columns: 1fr; }
}

.trabajo-card__image {
  overflow: hidden;
}

.trabajo-card__image::after {
  content:    '';
  position:   absolute;
  top:        -50%;
  left:       -75%;
  width:      50%;
  height:     200%;
  background: linear-gradient(
    105deg,
    transparent 40%,
    rgba(255,255,255,0.55) 50%,
    rgba(255,255,255,0.15) 55%,
    transparent 65%
  );
  transform:  skewX(-15deg);
  transition: none;
  opacity:    0;
  pointer-events: none;
}

.trabajo-card:hover .trabajo-card__image::after {
  opacity:    1;
  animation:  shine-sweep 0.75s ease forwards;
}

@keyframes shine-sweep {
  0%   { left: -75%; opacity: 1; }
  100% { left: 125%; opacity: 1; }
}
