/* === Grid de Proyectos === */

.proyectos-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

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

.proyecto-card{
  background:#fff;
  border-radius:14px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  padding: 15px;
  border: 1px solid var(--color-gray-light);
}

.proyecto-image{
  position:relative;
  display:block;
  overflow: hidden;
  height: 260px;
  border-radius: 8px;
  margin-bottom: 20px;
}

.proyecto-image img{
  width:100%;
  height:auto;
  display:block;
}

.proyecto-etiqueta{
  position:absolute;
  top:14px;
  right:14px;
  background:#6AD3FF;
  color:#FFF;
  font-size:13px;
  padding:10px 15px;
  border-radius:999px;
  font-weight:600;
  line-height: 1em;
}
.proyecto-etiqueta.en-ejecucion {
  background-color: var(--color-extra1);
}

.proyecto-tax{
  margin-right:12px;
  background:var(--color-extra1-light);
  color:var(--color-extra1-dark);
  line-height: 1em;
  padding:10px 15px;
  border-radius:999px;
  font-size:13px;
  width:fit-content;
}

.proyecto-card h3.proyecto-title{
  font-size:24px;
  font-weight:600;
  margin-top: 15px;
  margin-bottom: 40px;
  min-height: 56px;
  line-height: 1.2em;
  height: calc(3 * 1.2em);
  display: -webkit-box;
  -webkit-line-clamp: 3;           /* ← clave: número de líneas */
  -webkit-box-orient: vertical;
   overflow: hidden;
  text-overflow: ellipsis;
}

.proyecto-title a{
  text-decoration:none;  
  color: #000014;
}

.proyecto-link{
  font-size:18px;
  text-decoration:none;
  font-weight:500;
  color: var(--color-base);
}


.proyecto-card.is-hidden{
  display:none !important;
}


.proyecto-card:hover{
  background-color: var(--color-base);
  color: #FFF;
}
.proyecto-card:hover .proyecto-title a { color: #FFF; }
.proyecto-card:hover a.proyecto-link { color: var(--color-secondary); }


@media screen and (max-width:768px) {
  .proyecto-image {
    height: 170px;
  }
}